2016-08-24 3 views
0

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

здесь мои выражения

/from-([^/]+)-([^/]+)/ 
/from-([^/]+)-([^/]+-[^/]+)/ 
/from-([^/]+)-([^/]+-[^/]+-[^/]+)/ 

Я хотел бы чек фразы: из-Страны-города или из-Страны-город-город или из-Страны-город-город-город

+0

Снимите '/' от начала/конца и колотой с '-'. –

+0

Что именно вы пытаетесь найти и чего хотите захватить? –

+1

Нам понадобится хотя бы пример того, что вы пытаетесь проверить, чтобы иметь возможность помочь. –

ответ

1

Я считаю, что это выражение удовлетворяет ваши требования:

from-(\w+)-([\w-]+) 

Вот живой пример/demomstration: https://regex101.com/r/gF0fS2/1

Смысл выражения:

  1. матч символьной строки from-
  2. за которым следует один или более символов слова, определяется как 1-й группе (\w+)
  3. с последующим символьной строки -
  4. следуют один или более набора символов слова или тире, определенных как группа 2 ([\w-]+)

Для получения более подробной информации о регулярных выражениях см эти веб-сайты:

Смежные вопросы