首页 > 代码库 > 正则表达式总结

正则表达式总结

元字符
/b 自定义匹配单词得开始或结束,也就是分界点,一般情况下单词由空格,逗号等来作为分界点。
.  除了换行符以外的任意字符
* 匹配的是数量,可重复 .*匹配可重复任意数量的字符除了换行符以外(0次或0次以上),
+ 和*类似,但是它匹配的是至少一次
\s 匹配任意空白符,包括空格,制表符,换行符,中文全角空格等
\w 匹配字母,或数字,或下划线或汉字等
\d 匹配数字
^  匹配字符串的开始
$  匹配字符串的结束 ^\d{5,12}$匹配5到12位数字
转义字符 \
你想匹配 \,*等字符本身可以用\\,\*
限定符:
*重复0或更多次
+  重复1或更多次,至少一次
?  重复0或1次
{n} 重复n次
{n,m} 重复n到m次
{n,} 重复n次或更多次
反义
\W 匹配不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意不是数字的字符
\B 匹配不是单词开头或结尾的分界符号
[^x] 匹配除x以外的任意字符
<a[^>]+>匹配用尖括号括起来的以a开头的字符串

后向引用
默认情况下每个分组后的表达式从左到右都有一个编号,第一个出现的分组编号为1 第二个出现的分组编号为2,依次类推;
后向引用就是利用编号重复搜索前面分组的匹配
例如 \b(\w+)\b\s+\1\b可以用来匹配重复的单词,像go go, 或者kitty kitty

正则表达式总结