Можно создать дубликат:
Regular Expressions: Is there an AND operator?Пусть регулярное выражение игнорирует порядок поисковых терминов
Я позволил своим пользователям ввести слово для поиска: «Foo бар».
Я хотел бы, чтобы преобразовать запрос пользователя в строку, которая соответствует слова, но игнорируя приказ:
bla foo bla bar = match
^^^ ^^^
bla bar bla foo = match (order = reversed)
^^^ ^^^
bla bla bla foo = no match (only one word)
^^^
bar bla bla bla = no match (only one word)
^^^
Примечание: пример содержит 2 слова, но мои пользователи будут идти дикой природы, и будет введите больше слов.
Если заказ не следует игнорировать, это просто: замените пробелы на «. *», И у меня очень хорошее совпадение.
Но как я могу позволить регулярному выражению игнорировать порядок и по-прежнему соответствовать обоим (или более) словам?
Нужно ли генерировать регулярное выражение, которое будет соответствовать возможным комбинациям порядка?
Это был план B. Использование единого регулярного выражения потребовало меньше рефакторинга, и я ленив сегодня. – GvS