可能重复:
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,请停止。“
我尝试过一点,但经常遇到错误:'编译错误,正则表达式可以无限循环。“
我想理解递归在正则表达式中的工作原理。