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

3-16 指定文字がn回

正規表現パズル

カンマが3個ある行を検索する。

検索前


検索後


対象データ

1234
1,234
1,2,34
1,2,3,4
1,2,3,4,
,,,123
,1,,23


正規表現

^([^,]*,[^,]*){3}$

別解1

^([^,]*,){3}[^,]*$

別解2

^(?=(.*,){3})(?!(.*,){4}).*$


解説

量指定子でカンマの数を指定してます。

別解2では、以下の連立不等式を使ってます。
Xは3以上の自然数である。かつ、Xは4以上の自然数ではない。 ⇔ X=3