正则表达式
标准字符集和
注意区分大小写,大写是相反的意思
\d | 任意一个数字,0~9中的任意一个 |
---|
\w | 任意一个字母或数字或下划线,也就是AZ,az,0~9,_中任意一个 |
\s | 包括空格、制表符、换行符等空白字符的其中任意一个 |
. | 小数点可以匹配任意一个字符(除了换行符),如果要匹配包括“\n”在内的所有字符,一般用[\s\S] |
自定义字符集和
[]方括号匹配方式,能够匹配方括号中任意一个字符
[ab5@] | 匹配“a”或“b”或“5”或“@” |
---|
[^abc] | 匹配“a”,“b”,“c”之外的任意一个字符 |
[f-k] | 匹配“f”-“k”之间的任意一个字母 |
[^A-F0-3] | 匹配“A”“F”,“0”“3”之外的任意一个字符 |
量词(Quantifier)
修饰匹配次数的特殊符号
{n} | 表达式重复n次 |
---|
{m,n} | 表达式至少重复m次,最多重复n次 |
{m,} | 表达式至少重复m次 |
? | 匹配表达式0次或者1次,相当于{0,1} |
+ | 表达式至少出现1次,相当于{1,} |
* | 表达式不出现或出现任意次,相当于{0,} |
- 匹配次数中的贪婪模式(默认,匹配字符越多越好)
- 匹配次数中的非贪婪模式(匹配字符越少越好,修饰匹配次数的特殊符号后再加上一个“?”)
字符边界
本组标记匹配的不是字符而是位置,符合某种条件的位置
^ | 与字符串开始的地方匹配 |
---|
$ | 与字符串结束的地方匹配 |
\b | 匹配一个单词边界 |
- \b匹配这样一个位置:前面的字符和后面的字符不全是\w
预搜索(零宽断言)
(?=exp) | 断言自身出现的位置的后面能匹配表达式exp |
---|
(?<=exp) | 断言自身出现的位置的前面能匹配表达式exp |
(?!exp) | 断言自身出现的位置的后面不能匹配表达式exp |
(?<!exp) | 断言自身出现的位置的前面不能匹配表达式exp |