(?R)
这里有人可以解释递归 Perl/PCRE 正则表达式有帮助的情况吗?
我读
- https://regular-expressions.mobi/recursebacktrack.html?wlr=1
- https://perldoc.perl.org/perlre.html#(%3fPARNO)-(%3f-PARNO)-(%3f%2bPARNO)-(%3fR)-(%3f0)
但仍然找不到用例。
答案1
典型的例子是匹配一个包含数字、运算符和括号中的子表达式的算术表达式:
([0-9]+|\((?R)\))([-+*\/]([0-9]+|\((?R)\)))*
^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^ ^^^^^^^^
number (subexp) oper number (subexp)
\______ _______/ \______ _______/
\/ \/
One of those One of those
\__________ ____________/
\/
Zero or more of those
也就是说,匹配
- 括号中的数字或子表达式,后跟
- 零次或多次运算符以及括号中的数字或子表达式。