This project is closed and read-only.
Actions
Backport #8583
closedA problem of condition regexp with a named capture
Backport #8583:
A problem of condition regexp with a named capture
Status:
Closed
Assignee:
Description
以下の条件分岐を含む正規表現は "xy" "yx" にマッチし、"xx" "yy" にはマッチしません。
/\A((x)|(y))(?(2)y|x)\z/
名前付きキャプチャを用いた以下の正規表現も同じ挙動をするはずですが、そうはなっていません。
/\A((?x)|(?y))(?()y|x)\z/
"xx" "yy" にマッチして "xy" "yx" にはマッチしない。¶
2.0.0-p247, trunk の両方で確認しました。
この問題について調べた所、 名前付きキャプチャを使うときキャプチャの番号をrenumberしている
所で renumber がもれています。
添付したパッチのように修正すれば直ると思います。
Files
Actions