2014-12-10 2 views
0

Я пытаюсь создать регулярное выражение, чтобы соответствовать списку слов (все из них), но по их порядку. Скажем, у меня есть слова: what и people.Список слов по их порядку

Строка: what people do должна соответствовать.

Строка: people don't like what they do не должна совпадать (потому что слова не отображаются в правильном порядке).

Строка: people are nice не должна совпадать, поскольку не все слова существуют.

У меня есть это регулярное выражение: \b(?=.*WHAT)(?=.*PEOPLE)\b, и он отлично работает, кроме части заказа - когда people появляется перед what, он также возвращает успех.

+1

Должен ли он соответствовать "Люди хотят, что люди хотят"? И я предполагаю, что он также должен соответствовать «Что хочет, чего хотят люди». – juharr

ответ

2

Вы можете просто использовать это регулярное выражение без каких-либо смотреть вперед.

^.*\bwhat\b.*\bpeople\b.*$ 

DEMO

+0

Может понадобиться граница слов в случае, если OP не хочет, чтобы «что» соответствовало «независимо». – juharr

+0

@juharr да. Спасибо –

+0

Как я могу добавить слово bounderies в это регулярное выражение? – BreakPoint

Смежные вопросы