トップページに戻る    次の豆知識へ    前の豆知識へ

アトミックグループ内での最小マッチを模倣

正規表現パズル

アトミックグループ内で最小マッチを使った正規表現
(?>A+?)[AB]{2}$
は、先読みと後方参照を使った下記の正規表現で模倣できます。
^(?=(A+?))\1[AB]{2}$

検索前


検索後


対象データ

AAB
AAAAB


解説

(?>A+?)[AB]{2}$
を変形して
^(?=(A+?))\1[AB]{2}$
となりますが、この場合は、
A[AB]{2}$
でもよさそうですね。

よくばりマッチのマッチ数をアトミックで固定するのは、最大マッチ数が事前に分からないので意味がありそうですが
ものぐさマッチのマッチ数をアトミックで固定しても、最小マッチ数は事前に分かるので意味がなさそうですね。

4-7 よくばりマッチ(強欲マッチ)を模倣
4-15 アトミックなグループを模倣