正则匹配时的圆括号及子模式(子组)——关于PCRE正则语法
2012-05-14 16:03
344 查看
前段时间用php做了一个小偷程序,用于实时抓取其他网页上特定的内容,使用了大量的正则匹配,其中有些就涉及到了模式分支(既使用"|"分离模式中的可选路径)的子模式如何设置取消的问题,因为目标字符串中匹配子组的部分将会通过pcre_exec()()的ovector参数回传给调用者,而通常情况下我们是不需要这些匹配出来的子组再给单独列出来的。之前学习正则的时候印象当中有办法可以将这个字组不被单独捕获,但就是想不起来,当时Google、baidu都找不到这个问题,手册上也忘了具体在哪,问身边的同事他们也不知道,真是杯了个具。。。今天翻看手册时终于找到了答案(实事证明,手册不能不熟悉啊),在子组定义的左括号后面紧跟字符串”?:”即可, 并且不会对其后子组序号的计算产生影响。
这个平时虽用得不多,但个人感觉还是很有用处的,故在此记一笔。
这个平时虽用得不多,但个人感觉还是很有用处的,故在此记一笔。
相关文章推荐
- PHP扩展之文本处理(二)——PCRE正则表达式语法8——子组(子模式)
- PHP扩展之文本处理(二)——PCRE正则表达式语法13——条件子组
- PHP扩展之文本处理(二)——PCRE正则表达式语法14——注释及递归模式
- Delphi 正则表达式语法(7): 匹配转义字符
- Java - 正则表达式匹配模式
- 小结:PHP 正则表达式常用函数--PCRE模式篇
- Java正则表达式匹配模式[贪婪型、勉强型、占有型]
- python中的正则表达式(模式匹配)
- Perl 正则表达式 模式匹配
- 关于正则匹配字符串之间的字符
- Delphi 正则表达式语法(7): 匹配转义字符
- 正则表达式、分组、子匹配(子模式)、非捕获子匹配(子模式)
- Delphi 正则表达式语法(9): 临界匹配 - 也叫"预搜索"与"反向预搜索"
- 正则表达式中的贪婪与非贪婪匹配模式
- Delphi 正则表达式语法(1): 关于大小写与中文
- 浅谈php正则表达式中的非贪婪模式匹配的使用
- <转>正则匹配模式
- PHP扩展之文本处理(二)——PCRE正则表达式语法10——后向引用
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第7章 模式匹配与正则表达式(2)】
- 随笔:linux中正则表达式BRE模式下的特殊匹配字符