行ごとで、 行頭から、文字列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個以上の場合、 で場合分けして考えると、分かりやすいでしょう。 場合分けは、数学でよく使われる方法ですが、 正規表現でも使用できます。 なぜ場合分けが必要か