文字Xが存在するならば、 文字Yが存在する行を検索する。 検索前 検索後
XXYY YYXX XX YY ABC
^((?=.*X)(?=.*Y)|(?!.*X)).*$ 別解 ^((?!.*X)|(?=.*Y)).*$
条件法 Pが真ならばQも真 は、 Pが偽またはQが真である と同値です。 正規表現は、2値論理なので is not true = false なのです。 SQLは、3値論理なので is not true は、 false もしくは unknown ですが。 ちなみに、ブール代数の公式 _ _ A*B+A = B+A からも別解の正規表現に変形できます。