正则匹配时的圆括号及子模式(子组)——关于PCRE正则语法

前段时间用php做了一个小偷程序,用于实时抓取其他网页上特定的内容,使用了大量的正则匹配,其中有些就涉及到了模式分支(既使用"|"分离模式中的可选路径)的子模式如何设置取消的问题,因为目标字符串中匹配子组的部分将会通过pcre_exec()()ovector参数回传给调用者,而通常情况下我们是不需要这些匹配出来的子组再给单独列出来的。之前学习正则的时候印象当中有办法可以将这个字组不被单独捕获,但就是想不起来,当时Google、baidu都找不到这个问题,手册上也忘了具体在哪,问身边的同事他们也不知道,真是杯了个具。。。今天翻看手册时终于找到了答案(实事证明,手册不能不熟悉啊),在子组定义的左括号后面紧跟字符串”?:”即可, 并且不会对其后子组序号的计算产生影响。

这个平时虽用得不多,但个人感觉还是很有用处的,故在此记一笔。

转载于:https://www.cnblogs.com/rockyoungljy/archive/2012/05/14/2499517.html

你可能感兴趣的:(正则匹配时的圆括号及子模式(子组)——关于PCRE正则语法)