PHP中的递归正则表达式

时间:2010-06-24 00:44:23

标签: php regex pcre

  

可能重复:
  RegEx match open tags except XHTML self-contained tags

大家好!

您能否向我解释一下PHP PCRE中的递归正则表达式?所以,例如我有一般嵌套的html:

<div id="first">

  <b>some text</b>

    <div id="second">

      <div id="third">

        ...

      </div>

    </div>

</div>

并希望构建一个div数组。根据文档,我可以通过两种方式调用正则表达式:(?R)或(?n)。在最后一个示例中,n引用了appopriate子模式。那么,当我调用(?R)时,它是否从一开始就用一个完整的表达式开始搜索字符串并“忘记”关于第一个匹配?从逻辑上讲,我可以像这样描述一个上面的字符串模式:'search div,它将包含零个或多个属性,并且可能包含嵌套的div。如果内部没有嵌套的div,请停止。“

我尝试过一点,但经常遇到错误:'编译错误,正则表达式可以无限循环。“

我想理解递归在正则表达式中的工作原理。

0 个答案:

没有答案