行ごとで、 行頭から、文字Xが3回現れるまでマッチさせる。 検索前 検索後
X123456XX XXX123456 X123X456X X123XX456X789 123456 123X456 123X456X XXXXXX 1X2XXXX
^([^X]*X?){1,3}
文字Xが0個の場合、 文字Xが1個の場合、 文字Xが2個の場合、 文字Xが3個の場合、 文字Xが4個以上の場合、 で場合分けして考えると、分かりやすいでしょう。 場合分けは、数学でよく使われる方法ですが、 正規表現でも使用できます。 なぜ場合分けが必要か