1.定义
正则表达式是一种字符串匹配的规则。其实觉得叫规则表达式更容易理解。它表示的是一种字符串模式。
2.正则表达式的规则
(1)普通字符规则
即以普通字符本身作为规则,它匹配自身,如A,a,1
(2)特殊字符规则
. 匹配除换行符的所有字符
^ 匹配字符串开头
$ 匹配字符串结尾
+ 重复前面的规则一次或多次
* 重复前面的规则零次或多次
?重复前面的规则零次或一次
{n,m} 重复前面的规则n次到m次
(3)特殊序列规则
\d 匹配十进制数字
\w 匹配字母、十进制数字、下划线,即[a-zA-Z0-9_]
\s 匹配空白符,如空格、制表符等
\b 匹配单词边界
[...] 匹配括号里的任意一个字符
() 规则分组
\N 这里的N是数字,代表反向引用前面的规则分组,如 (the)\1则匹配 the the,这里的\1引用的就是前面(the)这个分组
3.贪婪和非贪婪
当使用了重复次数的模式时,默认是贪婪匹配,即尽可能长去匹配符合规则的字符串,非贪婪是尽可能短的匹配,在重复次数规则后加?就是非贪婪模式匹配,如a+?,这个规则就是匹配a
来源:https://www.cnblogs.com/buddy916/p/12631159.html