用于工作时查询
一般匹配符
选择匹配符
“|” ,也称为逻辑或
限定符
其中 m+abc? 匹配至少有一个m,然后拼接ab 再拼接0个或1个c
m+(abc)? 如果被小括号括起来 表示匹配至少有一个m 然后拼接0个或1个abc
注意的一个点{n,m}匹配时 它会尽可能的匹配多的(称之为:贪婪匹配)
例如:下面这个case 它匹配到了aaaa,而不会匹配aaa、aaa (所以正则匹配的性能可能不会太好)
String content = "aaaaaa";
String reg = "a{3,4}";
元符号
^[0-9]+\\-[a-z]*$ 表示以数字开头(至少一个数字),然后拼接一个-,最后以0到n个字母结尾
[^0-9] 表示非数字 对比下^的用法
说下\b匹配目前字符串的边界值 例如:abc\b
重点是匹配右边界,空格也算边界 下面的代码匹配到了两个
\B 与\b相反
分组
分为
"(\\d\\d)(\\d\\d)" 分为两组 macher.group(0)是匹配的完整数据,而对应macher.group(1), macher.group(2) 是分组后 每个组的数据
也可以给组起名字(下图)
(?<组名> )