zoukankan      html  css  js  c++  java
  • 2019-06-14 java学习日记

    正则表达式

    正则表达式的概述

    是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串。
    其实就是一种规则。有自己特殊的应用

    其作用就是

    比如注册邮箱,邮箱有用户名和密码,一般会对其限制长度,

    这个限制长度的事情就是正则表达式做的

     1 public static void main(String[] args) {
     2             // 非正则表达式实现
     3             System.out.println(checkQQ("012345"));
     4             // 正则表达式实现
     5             String regex = "[1-9]\d{4,14}";
     6             System.out.println("111111".matches(regex));
     7         }
     8 
     9         /**
    10          * 需求:校验qq号码
    11          * 1、要求必须是5-15位数字 
    12          * 2、开头不能为0 
    13          * 3、必须都是数字 
    14          * 校验qq 
    15          * 1、明确返回值类型boolean
    16          * 2、明确参数列表String qq
    17          */
    18 
    19         public static boolean checkQQ(String qq) {
    20             // 如果校验qq不符合要求就把flag设置为false,如果符合要求则直接返回
    21             boolean flag = true; 
    22             if (qq.length() >= 5 && qq.length() <= 15) {
    23                 if (!qq.startsWith("0")) {
    24             // 将字符串转换成字符数组
    25                     char[] arr = qq.toCharArray(); 
    26                     for (int i = 0; i < arr.length; i++) {
    27                         char ch = arr[i];
    28                         if (!(ch >= '0' && ch <= '9')) {
    29             // 不是数字               
    30                             flag = false; 
    31                             break;
    32                         }
    33                     }
    34                 } else {
    35            // 以0开头,不符合qq标准
    36                     flag = false; 
    37                 }
    38             } else {
    39            // 长度不符合
    40                 flag = false; 
    41             }
    42             return flag;
    43         }

    字符类:

      [abc] a,b 或 c (简单类)

      [^abc] 任何字符,除了 a,b,c(否定)

      [a-zA-Z] a到 z 或 A 到 Z,两头的字母包括在内(范围)

      [0-9] 0到9的字符都包括

    .任何字符

    d 数字:[0-9]

    D 非数字:[^0-9]

    s 空白字符:[ xOBf ]

    S 非空白字符:[^s]

    w 单词字符:[a-zA-Z_0-9]

    W 非单词字符:[^w]

    Greedy 数量词

      X? X,一次或一次也没有

      X* X,零次或多次

      X+ X,一次或多次

      X{n} X,恰好n 次

      X{n,} X,至少n 次

      X{n,m} X,至少 n 次,但是不超过 m 次

  • 相关阅读:
    SpringMVC的拦截器
    artDialog双击会关闭对话框的修改
    artDialog弹出框使用
    解决从本地文件系统上传到HDFS时的权限问题
    JAVA中写时复制(Copy-On-Write)Map实现
    数据结构--堆的实现(下)
    二叉树的创建算法
    Lamport Logical Clock 学习
    动态规划的思想来求解字符串分割问题
    数据结构--图 的JAVA实现(下)
  • 原文地址:https://www.cnblogs.com/Sherwin-liao/p/11025974.html
Copyright © 2011-2022 走看看