Подтвердить что ты не робот

Regexp logic и

Я знаю, что существуют логические операторы, такие как | "оператор OR", который можно использовать следующим образом:

earth|world

Мне было интересно, как я могу проверить, содержит ли моя строка Земля и мир.

С уважением, александр

4b9b3361

Ответ 1

Если он содержит мир земли и мира, он содержит один за другим, поэтому:

earth.*world|world.*earth

более короткая альтернатива (с использованием расширенного синтаксиса regex):

/(?=.*earth)(?=.*world).*/

Но это совсем не так, как оператор and. Вы можете сделать только or, потому что, если включено только одно из слов, никакого заказа не требуется. Если вы хотите иметь их обоих, вам нужно указать порядок.

Ответ 2

выполните два теста, если первый сбой второй не выполняется в javascript. например.

var hasBoth = /earth/i.test(aString) && /world/i.test(aString);

Ответ 3

Этот вопрос задавали и отвечали здесь:

Регулярные выражения: есть ли оператор AND?

Не существует прямого оператора "и", но вы можете продолжить тестирование экспрессии и убедиться, что второе выражение также соответствует.