Просто простое регулярное выражение, я не знаю, как писать.
Регулярное выражение должно убедиться, что строка соответствует всем трем словам. Я вижу, как сделать его совпадающим с любым из 3:
/advancedbrain|com_ixxocart|p\=completed/
но мне нужно убедиться, что все три слова присутствуют в строке.
Вот слова
Используйте утверждения 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)
Заказ не имеет значения. Все три требуются.