正则总结
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
<经典表达式经典实例><精通正则表达式> 两本一起看比较好
^ 开始 ^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
<经典表达式经典实例><精通正则表达式> 两本一起看比较好
相关文章推荐
- 慢牛APP相关截图
- 顺序查找
- 十四、中国特色社会主义核心价值观是富强民主文明和谐
- CCNA-------------交换
- 【复习笔记】人工神经网络
- 论破净和底部的关系
- 删除某一BSC在某一时间段内的数据
- iOS开发-Quartz2D绘制时定时器选择
- mamcached+magent构建memcached集群
- linux命令-file
- ARM内核和架构的关系(超形象)
- 7.Swift 中的Set集合
- nyoj 734
- opengl学习笔记1:vs2013 nehe教程第一课 创建窗口
- 初试在线破解工具Hydra爆破3389服务器
- php 在window上搭建redis
- 普通浏览器GET请求与Ajax的GET请求的区别
- Hbase 学习(九) 华为二级索引(原理)
- 支付宝支付集成总结
- Word01-从正文处开始插入页码