вопрос регулярного выражения: независимая позиция слов - PullRequest
3 голосов
/ 08 апреля 2010

возможно ли определить шаблон регулярного выражения, который проверяет, например, за 3 условия независимо от их положения в основной строке?

например. моя строка что-то вроде "click here to unsubscribe: http://www.url.com"

шаблон также должен работать с "http:// unsubscribe click"

ТНХ

Ответы [ 3 ]

9 голосов
/ 08 апреля 2010

Вы можете использовать положительные взгляды . Например,

(?=.*click)(?=.*unsubscribe).*http

- это регулярное выражение, которое будет смотреть вперед от текущей позиции (без движения вперед) для click, затем для unsubscribe, а затем обычно ищет http.

2 голосов
/ 08 апреля 2010

Да, используя условные выражения.

http://www.regular -expressions.info / conditional.html

2 голосов
/ 08 апреля 2010

Это возможно , но приводит к очень сложным регулярным выражениям, например ::

/(click.*unsubscribe|unsubscribe.*click)/

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

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