文字Aを含む行 または 文字Bと文字Cの両方を含む行を検索する 検索前 検索後
A B C AB AC BA BC ABC
^((?=.*A)|(?=.*B)(?=.*C)).*$ 別解 ^(?=.*[AB])(?=.*[AC]).*$
別解では、 ブール代数の分配法則 A+B*C = (A+B)*(A+C) を使って、元の正規表現を同値変形してます