Выражение регулярного выражения, которое соответствует URL, если оно содержит один шаблон, но не другой - PullRequest
0 голосов
/ 04 ноября 2011

Мне нужно создать шаблон регулярного выражения, который будет соответствовать всем URL-адресам, которые содержат String1, но не String2. Проблема в том, что URL может содержать как String1, так и String2. Например, при сканировании сайта электронной коммерции я хочу собирать страницы каталога без получения URL-адресов продуктов.

Пример каталога URL: http://www.domain.com/catalog/name Строка1: каталог

Пример URL продукта: http://www.domain.com/catalog/name/product/id => String2: product

Используя приведенные выше примеры URL, String1 - это «каталог», а String2 - это «продукт». Мой текущий шаблон для получения URL-адресов каталога: \/catalog(?:\/[\w-\/]*)?$

Как мне расширить этот шаблон, чтобы пропустить все URL с помощью String2?

1 Ответ

0 голосов
/ 06 января 2012

Я думаю, вы ищете негативный взгляд вперед

Например, это регулярное выражение:

catalog\/name\/(?!product)

Совпадения ( пример ):

http://www.domain.com/catalog/name/produc/id

Однако, это не соответствует ( пример ):

http://www.domain.com/catalog/name/product/id

Надеюсь, это поможет!

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