簡體   English   中英

在PHP / PCRE中對其他遞歸級別的反向引用

[英]Backreferences to other recursion levels in PHP / PCRE

我試圖在網上找到答案,但未能成功。 此頁面的第三部分是否適用於PHP / PCRE?

https://www.regular-expressions.info/recursebackref.html

“對其他遞歸級別的反向引用”部分。 我只對PHP感興趣,因此,如果這不適用於PHP語言(或可能的JavaScript),那么這就是我所需要知道的。

謝謝。

PCRE不支持具有遞歸級別的反向引用,該信息與Ruby Onigmo正則表達式引擎有關。

請參閱Onigmo參考

\k<n+level>  \k'n+level'
\k<n-level>  \k'n-level'
\k<-n+level> \k'-n+level'
\k<-n-level> \k'-n-level'

\k<name+level> \k'name+level'
\k<name-level> \k'name-level'

Destine a group on the recursion level relative to the referring position.

ex 1.

  /\A(?<a>|.|(?:(?<b>.)\g<a>\k<b>))\z/.match("reee")
  /\A(?<a>|.|(?:(?<b>.)\g<a>\k<b+0>))\z/.match("reer")

  \k<b+0> refers to the (?<b>.) on the same recursion level with it.

參見Rubular演示

對於PCRE ,唯一允許使用的語法反向引用是

 \n              reference by number (can be ambiguous)
 \gn             reference by number
 \g{n}           reference by number
 \g{-n}          relative reference by number
 \k<name>        reference by name (Perl)
 \k'name'        reference by name (Perl)
 \g{name}        reference by name (Perl)
 \k{name}        reference by name (.NET)
 (?P=name)       reference by name (Python)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM