Я пытался найти ответ в сети, но не смог. Третий раздел на этой странице относится к 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 demo.
Что касается 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)
Других решений пока нет …