соответствие регулярному выражению, если строка содержит все слова или условие

я делаю простую игру в слова с php и regex, как мы можем искать это, если строка требует двух или более слов?

скажем

"cat"
"dog"
"play" x 2

если

"игра в кошачью собачку"pass

«Привет, собака-кошка играет в пьесу»not pass, только 1 "игра"

& Quot; кошки & Quot;not pass, нет собаки и 2x играть

"Я хочу, чтобы кошка и собака играли со мной и играли с дедушкой"pass

как мы можем сопоставить его с регулярным выражением?

Ответы на вопрос(2)

preg_match_all(/cat.+dog(.+play){2}/i,$str,$out);

/(?=.*?\bcat\b)(?=.*?\bdog\b)(?=(.*?\bplay\b){2})^.*$/

Explanation: Я верю словамcat, dog а такжеplay (дважды) может появляться в тексте в любом порядке, но все они должны присутствовать в предложении, чтобы соответствовать требованиям. Выше регулярное выражение использует положительный прогноз, чтобы убедиться в наличии вышеуказанных условий.

Вот демо-версия рабочего стола выше RegEx

ВАШ ОТВЕТ НА ВОПРОС