高度な正規表現:(?R)再帰正規表現を使用できる状況が見つかりません。

高度な正規表現:(?R)再帰正規表現を使用できる状況が見つかりません。

(?R)再帰的なPerl / PCRE正規表現が役に立つ状況を説明できる人はいますか?

私は読んだ

しかし、まだ活用事例が見つかりません。

ベストアンサー1

一般的な例は、括弧内に数字、演算子、およびサブ式を含む算術式を一致させることです。

([0-9]+|\((?R)\))([-+*\/]([0-9]+|\((?R)\)))*
 ^^^^^^ ^^^^^^^^  ^^^^^^^ ^^^^^^ ^^^^^^^^
 number (subexp)   oper   number (subexp)
\______  _______/        \______  _______/
       \/                       \/
  One of those             One of those
                  \__________  ____________/
                             \/
                     Zero or more of those

つまり、マッチ

  • かっこ内の数字またはサブ式、その後に
  • ゼロ個以上の演算子と数字または括弧内のサブ式。

おすすめ記事