目前的标准是:
url(r'^partner/(?P<author>[-\w]+)/(?P<video>\w+)/(?P<title>\w+)/$', 'video_player'),我已经尝试了很长一段时间了,但是无法让标题(最后一个参数)接受下面的两个示例字符串:
有什么建议吗?
编辑
当我把它作为标题的参数时,这里的一些文字不起作用:国家棒球名人堂展示了6件洋基的季后赛纪念品:1923年世界系列赛的手表;1926年世界系列赛的贝贝露丝的球棒;1956年唐拉森完美比赛的约吉贝拉的手套;1962年世界系列赛的最后一次出球;1996年世界大赛的德里克杰特的球衣;2000年地铁系列赛的马里亚诺里维拉的帽子。
http://www.buzzfeed.com/sports
发布于 2012-10-11 02:48:17
\w+是一个正则表达式,它只匹配字母数字字符和下划线。我将试图展示一个严格的解决方案,你给出的例子和一个更一般的,可能是一个也适用于你。
由于您喜欢匹配不包含在w组中的其他字符,所以您应该创建一个自定义组,添加所需的特殊字符。要形成一个组,您可以将它写在括号[]之间。要向组中添加字符,只需一个接一个地写字符,除了-之外,因为它可以定义一个范围,所以必须将其放在前面。对于第一个例子,您需要匹配字符,如括号和加号,这些字符对于regex是特殊的,因此必须转义。对于+ -> use + for (因此,第一个示例的正则表达式将开始如下所示:正则表达式用于正则表达式的[\w\(\)\+]+ ),您可以在开始时添加-符号以避免范围后查看:备忘单或可下载,以及其他转义字符和非转义字符。匹配两个字符串的组如下所示:
[-\w\/\?:=\.\s!\(\)"\+]+
因为这很复杂,而且您似乎想要任何东西作为标题,我推荐特殊组.,因为它包含任何字符,除了换行符。
regexp看起来非常简单:.+
发布于 2012-10-11 03:11:31
url(r'^partner/(?P<author>[-\w]+)/(?P<video>\w+)/(?P<title>.*)/$', 'video_player'),应该能带你过去。只需在比赛结束后把所有的事情都做完,直到最后/
https://stackoverflow.com/questions/12831190
复制相似问题