Django url 正则表达式命中 url: *./something
Posted
技术标签:
【中文标题】Django url 正则表达式命中 url: *./something【英文标题】:Django url regex hit end of url: *./something 【发布时间】:2018-10-30 19:28:06 【问题描述】:我在以相同字符串结尾的不同 url 上得到 404,而不是创建多个重定向,我想在最后一个字符串上捕获它们。它总是出现在同一个位置,模式是这样的:
/some-of-my-urls/the-same-string
那里没有尾随斜杠。我尝试过这样的事情:
url(r'^[a-zA-Z0-9_]+/the-same-string', redirect_func),
url(r'^./the-same-string', redirect_func),
但这不起作用。对于具有更多正则表达式知识的人来说可能很明显,我不是很先进。任何人的想法?
【问题讨论】:
试试r'^[^/]+/the-same-string'
,必要时添加命名捕获组。
@WiktorStribiżew:感谢 Wiktor,但它没有收到请求。
@WiktorStribiżew 现在可以了。我把它放在文件中太低了。第一条评论效果很好。谢谢。如果您想要正确答案,请转发,我会接受。
【参考方案1】:
您可以使用否定字符类 [^/]
匹配除 /
之外的任何字符,并使用匹配 1 个或多个重复的 +
量词对其进行量化:
r'^[^/]+/the-same-string'
请参阅regex demo。
【讨论】:
以上是关于Django url 正则表达式命中 url: *./something的主要内容,如果未能解决你的问题,请参考以下文章