preg_matchの正規表現で論理積を用いる

正規表現で論理積を用いて2つ以上の正規表現を含んでいるかどうかを確認するには次のように記述すればよいです。

<^(?=.*apple)(?=.*orange)

appleという文字列とorangeという文字列が両方含まれているときにpreg_matchは1を返します。 これを応用すれば3つ以上の論理積を取ることも可能です。