所谓分组,就是把要匹配的内容放在括号()里。括号里的内容可以视为是一个整体的子表达式。
所谓回溯引用,就是引用之前匹配的内容,可以把回溯引用想象成一个变量。
具体看几个例子就会明白。如下的文字
<ul>
<li><a class="app01">航班查询</a></li>
<li><a class="app01">航班查询</a></li>
<li><a class="app01">航班查询</a></li>
<li><a class="app01">航班查询</a></li>
<li><a class="app01">航班查询</a></li>
<li><a class="app01">航班查询</a></li>
</ul>
<div>1111</div>
<div>2222</div>
<div>3333</div>
想匹配格式为<X>.....</X>这样的文字。保证尖括号内部的X是同样的。避免匹配出<li></a>这种格式,用回溯就很有效的。<(\w+)>.*</\1>
其中可以把(\w+)看做一个变量,\1就是对这个变量的引用。(\w+)是什么\1就是什么。(\w+)是li,\1就是li,\w+是div,\1就是div。回溯的内容必须是一个分组的字表达式。
本文转自cnn23711151CTO博客,原文链接: http://blog.51cto.com/cnn237111/743444,如需转载请自行联系原作者