正则表达式

概念

  • 就是由一些特定的字符组成,代表的是一个规则。

    • 作用一:校验内容是否合法。
    1
    2
    3
    4
    5
    6
    //校验QQ号是否合法(6-20位纯数字)
    public static boolean checkQQ (String qq){
    if(qq == null || qq.matches("[1-9]\\d{5,19}")){
    return false;
    }
    }
    • 作用二:在一段文本中查找满足要求的内容。

书写规则

  • String提供了一个匹配正则表达式的方法
public boolean matches (string regex) 判断字符串是否匹配正则表达式,匹配返回true,不匹配返回false。
  • 字符类(只匹配单个字符

  • 预定义字符(只匹配单个字符)

  • 数量词

  • 其他

​ (?i) 忽略大小写

​ | 或

​ ()分组

  • 例题
1
2
3
4
5
//需求1:要么是三个小写字母,要么是三个数字。
matches("\\d{3}|[a-z]{3}")

//需求2:必须以“我爱”开头,中间至少有一个“睡觉”,最后至少有一个“666”。
matches("我爱(睡觉)+(666)+")

用于查找信息

  • 需求:请把下面文本中的电话,邮箱,座机号码,热线都爬取出来。

用于搜索、分割内容

  • 需要结合String提供的如下方法

  • replace

  • split