Что значит данное регулярное выражение?

url(r'^category/(?P<category_name_slug>[\w\-]+)/$', ....)

Интересует часть [\w\-]+
Что значит \-?
В чем разница если [\w\-]+ заменить на [\w-]+?
Тестил здесь: regexr.com и разницы не увидел.
Вообще пример из Tango with django
  • Вопрос задан
  • 2404 просмотра
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
[\w\-]+ == [\w-]+
А вот [a-z]+ не эквивалентно [a\-z]+
Дефис в символьной маске может обозначать диапазон символов. А может и не означать - если стоит в начале или конце маски. Потому, несмотря на то, что это спецсимвол, экранировать его не требуется. Я бы советовал экранировать - акцентировать внимание, что нужен именно символ "-".
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы