Regex - как сказать что-то НЕ для сравнения? - PullRequest
6 голосов
/ 03 июня 2010

Как я могу создать регулярное выражение, чтобы НЕ соответствовать чему-либо? Например, я хочу, чтобы регулярное выражение соответствовало всему, что НЕ является строкой "www.petroules.com".

Я пытался [^www\.petroules\.com], но, похоже, это не сработало.

Ответы [ 2 ]

8 голосов
/ 03 июня 2010
^(?!www\.petroules\.com$).*$

будет соответствовать любой строке, кроме www.petroules.com. Это называется негативный взгляд .

[^www\.petroules\.com]

означает «Совпадение один символ, кроме w, p, e, t, r, o, u, l, s или точка».

4 голосов
/ 03 июня 2010
(?!...)

Это называется негативным взглядом. Это будет соответствовать, только если регулярное выражение ... не соответствует. Однако обратите внимание, что он НЕ потребляет символы. Это означает, что если вы добавите что-нибудь еще после), оно сразу начнет совпадать, даже символы, которые были частью негативного просмотра.

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