Регулярное выражение Точное исключение ключевых слов - PullRequest
0 голосов
/ 24 июля 2010

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

Цель - отредактировать мой urlrewrite.xml, который может приниматьregexps в следующем формате

<rule>
     <from>^/location/([A-Z]+)/name/([A-Z]+)</from>
     <to>/login?name=$2&location=$1</to>
</rule>

Например, я хочу перенаправить все после / который не является «логином» и «регистрацией» на другую страницу.Я пытаюсь выполнить следующие, но ни один из них не удовлетворяет мой запрос.

^/(?!(login|signup).*
^/(?!(login|signup)[A-Za-z0-9]+

Поскольку я хочу, чтобы он совпадал только в том случае, если входные данные точно 'login' или 'signup', однако он отклоняет ' loginblabla 'тоже.

Любые решения высоко ценятся.:)

1 Ответ

1 голос
/ 24 июля 2010

Вам нужно добавить $ якорь в конце заголовка:

^/(?!(login|signup)$)(.+)

Теперь все, что не точно login или signupзахвачено в группу $1.

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