如何修改此正则表达式以接受Django中的此URL?

pyn*_*ice 2 python regex django django-urls

我有一个像这样的Django URL:

url(r'^(?P<category_id>\w+)/beginner/$', views.beginner, name='beginner')
Run Code Online (Sandbox Code Playgroud)

这个正则表达式接受这样的URL:

http://127.0.0.1:8000/quiz/grammar/beginner/
http://127.0.0.1:8000/quiz/vocabulary/beginner/
Run Code Online (Sandbox Code Playgroud)

但是'-'不接受URL :

# This URL is not accepted
http://127.0.0.1:8000/quiz/business-english/beginner/
Run Code Online (Sandbox Code Playgroud)

如何修改此正则表达式以接受URL '-'

lor*_*ain 5

更好的是,以取代\w+[\w-]+现在它将匹配单词和-

说:匹配单词\w-1次或多次

你的Django网址看起来像

url(r'^(?P<category_id>[\w-]+)/beginner/$', views.beginner, name='beginner')
Run Code Online (Sandbox Code Playgroud)