Регулярные выражения: есть оператор AND? - PullRequest
609 голосов
/ 22 января 2009

Очевидно, что вы можете использовать | (трубу?) Для представления OR, но есть ли способ также представить AND?

В частности, я бы хотел сопоставить абзацы текста, которые содержат ВСЕ определенной фразы, но без определенного порядка.

Ответы [ 12 ]

2 голосов
/ 22 января 2009

Порядок всегда подразумевается в структуре регулярного выражения. Чтобы выполнить то, что вы хотите, вам придется сопоставлять входную строку несколько раз с различными выражениями.

То, что вы хотите сделать, это , а не возможно с одним регулярным выражением.

0 голосов
/ 09 сентября 2011

Используйте AND вне регулярного выражения. В PHP оператор lookahead, похоже, не работает для меня, вместо этого я использовал это

if( preg_match("/^.{3,}$/",$pass1) && !preg_match("/\s{1}/",$pass1))
    return true;
else
    return false;

Приведенное выше регулярное выражение будет соответствовать, если длина пароля составляет 3 символа или более и в нем нет пробелов.

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