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

Просто простое регулярное выражение, я не знаю, как писать.

Регулярное выражение должно убедиться, что строка соответствует всем трем словам. Я вижу, как сделать его совпадающим с любым из 3:

/advancedbrain|com_ixxocart|p\=completed/ 

но мне нужно убедиться, что все три слова присутствуют в строке.

Вот слова

  1. advancebrain
  2. com_ixxocart
  3. р = завершено

Используйте утверждения lookahead :

 ^(?=.*advancebrain)(?=.*com_ixxochart)(?=.*p=completed) 

будет соответствовать, если присутствуют все три условия.

Возможно, вы захотите добавить границы работы \b вокруг своих условий поиска, чтобы убедиться, что они соответствуют полным словам, а не подстрокам других слов (например, advancebraindeath ), если вам нужно избегать этого:

 ^(?=.*\badvancebrain\b)(?=.*\bcom_ixxochart\b)(?=.*\bp=completed\b) 
 ^(?=.*?p=completed)(?=.*?advancebrain)(?=.*?com_ixxocart).*$ 

Провел слишком долгое тестирование и рафинирование = / Ну ладно .. По-прежнему опубликует мой ответ

Используйте lookahead:

 (?=.*\badvancebrain)(?=.*\bcom_ixxocart)(?=.*\bp=completed) 

Заказ не имеет значения. Все три требуются.