запрос регулярного выражения, чтобы получить все совпадения для пути - PullRequest
0 голосов
/ 13 апреля 2010

Да - еще один запрос регулярного выражения noob, который я не могу получить.

Я пытаюсь получить все совпадения для строки foo.mydomain.com/ или foo.mydomain.com:1234/ или foo.mydomain.com:<random port>/, но любые другие пути не совпадают, т.е. foo.mydomain.com/bar или foo.mydomain.com/bar/pewpew

Я пытался использовать: foo.mydomain.com(.*)/$ (который начинается с чего-либо, затем foo.mydomain.com, затем любой вещи после этого до косой черты, затем заканчивается. (Этот поисковый запрос привязывается к концу строки.)

Но это не работает. Он не совпадает, когда я передаю foo.mydomain.com:1234, но правильно говорит, что foo.mydomain.com/bar/pewpew не соответствует (как и ожидалось).

Ответы [ 2 ]

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

Попробуйте:

^foo\.mydomain\.com(?::\d+)?/?$
  • ^: стартовый якорь
  • \.: . является метасимволом ... для соответствия литерал . вам нужно экранировать с помощью \
  • (?:): группировка
  • \d: одна цифра
  • \d+: одна или несколько цифр
  • ?: делает предыдущий шаблон необязательным
  • $: концевой анкер
0 голосов
/ 13 апреля 2010
foo\.mydomain\.com(:\d{1,5})?/\s*$

Попробуйте это.

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