您的位置:首页 > 其它

正则总结

2016-01-29 15:13 120 查看
1 元字符

^ 开始 ^cat 表示只匹配以cat为开头的

$ 结束 cat$ 表示只匹配以cat为结束的

- 范围 a-z

[] 字符组 匹配中括号中的任意内容 [ab]类似(a|b) 但是字符组只能匹配一个

() 分组 可以捕获匹配的内容 如果需要替换操作 则必须使用

(?:) 非捕捉分组 不会捕捉分组的内容

[^ ] 排除中括号中的内容

. 匹配任何单个字符 除换行

? 可选项 表示可以出现0次或一次 colou?r 可以匹配color和colour

+ 和?很像 表示出现至少一次

* 永远不会匹配失败 可以出现任意多次 即使没有

{} 重复次数 {1,5} [1,5]闭区间

占有量词 数量词? + * {}后加+ 如X?+ 不会回溯 效率高一点

懒惰匹配 ? 如X?? 默认为贪心 都有回溯

\d [0-9] \D 取非

\w [a-zA-Z0-9] \W

\s [.\f\n\r\t\v] 空白字符

\b 单词边界

/i 不区分大小写

/s /m 单行匹配 多行匹配

2 反向引用

([ab])\1 如果分组中匹配成功 将捕获匹配的内容替代\1

3 零宽断言

(?<=<a>)\w+(?=</a>)

<a>cat</a>

(?<=<a>)会匹配到<a> 然后从下一个位置c开始匹配\w+

(?=</a>)会匹配到</a> 然后在t结束

得到的结果就是cat

如果在不支持断言的情况

(<br>)(\w+)(?=</br>)

将得到<br>和cat

<经典表达式经典实例><精通正则表达式> 两本一起看比较好
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: