Регулярные выражения поддерживают условие «обхода», которое позволяет вам искать термин в строке и затем забывать местоположение результата; начиная с начала строки для следующего поискового запроса. Это позволит искать строку для группы слов в любом порядке.
Регулярное выражение для этого:
^(?=.*\bword1\b)(?=.*\bword2\b)(?=.*\bword3\b)
Где \b
- граница слова, а ?=
- модификатор обхода.
Если у вас есть переменное число слов, которые вы хотите найти, вам нужно будет построить эту строку регулярного выражения с помощью цикла - просто оберните каждое слово в синтаксисе поиска и добавьте его в выражение.