我正在尝试在Django url模式中形成一个URL。
url(r'^reports/(?P<bu>\w+|\W)/$', \
LrsReportView.as_view(), name="elearning.lrsreports.region"),
bu可以是字符串或字符串字母数字或带有特殊字符的字母数字(除了/)
但上面的网址显示错误
NoReverseMatch: Reverse for 'elearning.lrsreports.region' with arguments '(u'Lawn&Garden',)' and keyword arguments '{}' not found.
从我理解的错误中,这个正则表达式不接受具有特殊字符的字符串
请帮我解决这里可能出现的问题。
答案 0 :(得分:2)
您当前的RegEx将匹配:
OR
您可能需要更多类似的内容:
(?P<bu>[\w-]+)
这将匹配字母,数字,下划线和连字符。添加您想要的任何其他特殊字符(在方括号内)。记住某些角色需要在\
之前逃脱。
答案 1 :(得分:0)
试试这个 -
/ ^(= \ d?)(= (_(= [AZ]。)(= [AZ]?)|?[ ^ \ W]))。+ $ /