Регулярное выражение для соответствия двум словам в любом порядке со спецификацией c третьего слова между ними - PullRequest
0 голосов
/ 30 мая 2020

Я просмотрел множество других вопросов и просто не совсем понял, что, по моему мнению, подойдет мне. По сути, я хочу точно сопоставить три слова: «кошка», «и», «собака», где «и» всегда посередине, но «кошка» и «собака» могут быть с любой стороны. Я использовал поисковые запросы, чтобы сопоставить «кошка» и «собака» в любом порядке, но я не могу понять, как интегрировать тест на «и» в середине. В настоящее время у меня есть следующее:

^(?=.*\bcat\b)(?=.*\bdog\b).*$

, но это принимает любое слово между ними.

1 Ответ

1 голос
/ 30 мая 2020

Если дубликаты не являются проблемой, \ b ((cat \ sand \ sdog) | (dog \ sand \ scat)) \ b - самое простое решение, в противном случае \ b ((cat \ sand \ sdog) | (dog \ песок \ scat)) \ b

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...