主要是引入了一个新符号(?R),用以表示正则模式本身。

举个例子:

1
#\((?R)*\)#

就可以匹配((()))这种字符串。注意*起的是截止的作用,可以为0个,否则就要匹配无限多个了。

使用序号引用的例子:

1
#(1)(2)(3)(?3)(?2)(?1)#

就可以匹配123321这种。

再来看一个文档中给出的例子:

1
\(((?>[^()]+)|(?R))*\)