文字列abcの出現回数が3以上5以下の行を検索する。 検索前 検索後
abcabc abcXabcXabc XabcXabcXabcabc abcabcabcabcabcabc abcXabcXabcXabcXabcXabc
^((?!abc).)*(abc((?!abc).)*){3,5}((?!abc).)*$ 別解1 ^(((?!abc).)*abc){3,5}((?!abc).)*$ 別解2 ^(?=(.*abc){3})(?!(.*abc){6}).*$
否定先読みと量指定子を組み合わせてます。 別解2では、以下の連立不等式を使ってます。 Xは3以上の自然数である。かつ、Xは6以上の自然数ではない。 ⇔ X=3,4,5