Regular-Expression
高級正則表達式:無法確定可以使用 (?R) 遞歸正則表達式的情況
這裡有人可以解釋遞歸 Perl/PCRE 正則表達式
(?R)
有用的情況嗎?我讀
- https://regular-expressions.mobi/recursebacktrack.html?wlr=1
- https://perldoc.perl.org/perlre.html#(%3fPARNO)-(%3f-PARNO)-(%3f%2bPARNO)-(%3fR)-(%3f0)
但仍然找不到案例。
這是用於匹配嵌套結構的工具,例如嵌套括號。
數學定義的正則表達式不能匹配這個。
\( ( [^()]*+ | (?R) )* \)
線上查看(應忽略空格)。
請閱讀:
典型範例是匹配一個算術表達式,其中包含括號中的數字、運算符和子表達式:
([0-9]+|\((?R)\))([-+*\/]([0-9]+|\((?R)\)))* ^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^ ^^^^^^^^ number (subexp) oper number (subexp) \______ _______/ \______ _______/ \/ \/ One of those One of those \__________ ____________/ \/ Zero or more of those
也就是匹配
- 括號中的數字或子表達式,後跟
- 零次或多次運算符和括號中的數字或子表達式。