php preg_match, сопоставление, когда 2 слова могут входить в случайную последовательность

Можно ли совместить два слова, которые могут появляться в случайных последовательностях? Примеры:

$title = "2 pcs watch for couple"; $title = "couple watch 2 pcs"; 

В настоящее время я использую два регулярных выражения:

 if (preg_match("/2( )?pcs/i", $title) and preg_match("/couple/i", $title)) 

Просто хочу знать, можно ли это сделать только с 1?

Если вы просто проверяете наличие двух слов в строке, вы можете использовать

 '/couple.*2 pcs|2 pcs.*couple/' 

использовать strpos ()

 if(strpos($string, '2 pcs') !== False){ //its found } 

или совпадение вначале и в конце

 if(preg_match("/(^(2 pcs|couples)|(2 pcs|couples)$)/", '2 pcs watch for couples')){ //echo "found"; } 

или

Соответствие в любом месте:

 if(preg_match("/(2 pcs|couples)/", '2 pcs watch for couples')){ //echo "found"; }