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

4-4 指定文字がn回以上m回以下

正規表現パズル

aの出現回数が3以上5以下の行を検索する

検索前


検索後


対象データ

aa
aaa
aaaa
aaaaa
aaaaaa
ababa
ababab
abcdba
abcdabcdabcd


正規表現

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

別解1

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

別解2

^(?=(.*a){3})(?!(.*a){6}).*$


解説

否定文字クラスと、量指定子を組み合わせてます。

数学の同値命題(連立不等式)
Xは3以上の自然数である。かつ、Xは6以上の自然数でない。 ⇔ X=3,4,5のいずれかである。
を使ってもいいです。