Задать вопрос

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

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

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

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

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