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

4-25 少なくとも1つを含む行を検索

正規表現パズル

文字列abc、文字列bcd、文字列cde
の3つの文字列の中の
少なくとも1つを含む行を検索する。

検索前


検索後


対象データ

abcXXXbcdXXXcdeXX
abcde
abcX
Xbcd
XXXX
abde
XabcdX
abcXcde
bcde


正規表現

^(?=.*(abc|bcd|cde)).*$

別解

^(?!((?!.*abc)(?!.*bcd)(?!cde))).*$


解説

別解では、
文字列abc、文字列bcd、文字列cdeの3つの文字列の中の、少なくとも1つを含むことの余事象は、
文字列abc、文字列bcd、文字列cdeの3つの文字列の中の、どの文字列も含まないことである。
といった理論を使って、
否定先読みを使ってます。

余事象の資料