有关正则表达式小结

正则表达式

实质就是字符串匹配,也就是字符匹配
  • 常用方法 (matches 返回的是一个布尔型变量)
Pattern p = Pattern.compile("a*b");
 Matcher m = p.matcher("aaaaab");
 boolean b = m.matches();
常用的字符()
  • | . | 匹配除换行符以外的任意字符
  • | \r | 匹配一个回车符
  • | […] | 可自己指定字符范围,对应位置是字符集中任意字符
    • 例如 [1,2] 表示这个字符可以是1,或者2

数量词
  • | * | 匹配前面的子表达式零次或多次
  • | + |匹配前面的子表达式一次或多次
  • | ? | 匹配前面的子表达式零次或一次

  • | {m} | 匹配前一个字符m次

  • | {m,n} | 匹配前一个字符m次至n次

边界字符
  • | ^ | 放在开头则表示匹配输入字符串的开始位置,若放在方括号表达式中使用,表示取反,不接受该字符集合
  • | $ | 匹配输入字符串的结尾位置
  • | \b | 匹配单词的开始或结束

预定义字符集
  • | \d | 匹配数字
  • | \D | 匹配非数字 [ \d ]
  • | \s | 匹配任意的空白符
  • | \w | 匹配字母或数字或下划线或汉字 [A-Za-z0-9_]
  • | \W | 匹配非单词字符
  • 匹配特殊字符时要转义,java要两个斜杠\
  • . 特殊字符在中括号表达式时 如 [.] 只会匹配 .字符,等价于 \.

逻辑,分组
  • | (…) | 分组表达式,括号中的即为表达式。整个作为整体,后可接数量词,表示匹配次数
  • | 代表左右表达式任意匹配一个,先匹配左,左成功则跳过右
    • 例如 abc|def , 可匹配abc 或 def
    • 如果| 没有被包括在()中,则它的范围是整个正则表达式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值