RegEx, чтобы исключить строку - PullRequest
0 голосов
/ 09 января 2011

У меня есть следующие строки в моем приложении.

/admin/stylesheets/11

/admin/javascripts/11

/contactus

я хочу написать регулярное выражение для захвата чего-либо, кроме строки, начинающейся с 'admin'

в основном мое регулярное выражение должно захватывать только

/contactus

путем исключения обоих

/admin/stylesheets/11

/admin/javascripts/11

для захвата всего, что я написал

/.+/

, и я написал /(admin).+/, который захватывает все, начинается с 'admin'.Как я могу сделать обратное.Я имею в виду получить все, не начиная с 'admin'

спасибо заранее

ура

sameera

РЕДАКТИРОВАТЬ - Спасибо всем за ответы

Я использую ruby ​​/ Rails3 и пытаюсь отобразить маршрут в моем файле rout.rb

Мой оригинальный файл маршрутов выглядит следующим образом

match '/:all' => 'page#index', :constraints => { :all => /.+/ }

, и я хочу, чтобы RegEx заменил/.+/

спасибо

1 Ответ

4 голосов
/ 09 января 2011

Если используемая реализация языка / регулярного выражения поддерживает прогнозные утверждения , вы можете сделать это:

^/(?!admin/).+/

В противном случае, если вы можете использовать только основной синтаксис, вынужно будет сделать что-то вроде этого:

^/([^a].*|a($|[^d].*|d($|[^m].*|m($|[^i].*|i($|[^n].*)))))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...