トップページに戻る    次の正規表現パズルへ    前の正規表現パズルへ

2-25 行頭から文字列がN回現れるまでマッチ

正規表現パズル

行ごとで、
行頭から、文字列ABCが3回現れるまでマッチさせる。

検索前


検索後


対象データ

ABC123456ABCABC
ABCABCABC123456
ABC123ABC456ABC
ABC123ABCABC456ABC789
123456
123ABC456
123ABC456ABC
ABCABCABCABCABCABC
1ABC2ABCABCABCABC


正規表現

^(((?!ABC).)*(ABC)?){1,3}


解説

文字列ABCが0個の場合、
文字列ABCが1個の場合、
文字列ABCが2個の場合、
文字列ABCが3個の場合、
文字列ABCが4個以上の場合、
で場合分けして考えると、分かりやすいでしょう。

場合分けは、数学でよく使われる方法ですが、
正規表現でも使用できます。

なぜ場合分けが必要か