Django url 正则表达式命中 url 的结尾:*./something

Django url regex hit end of url: *./something

我在以相同字符串结尾的不同 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),

但这不起作用。对于具有更多正则表达式知识的人来说可能很明显,我不是很先进。有人有想法吗?

您可以使用否定字符 class [^/] 来匹配除 / 之外的任何字符,并使用匹配 1 次或多次重复的 + 量词对其进行量化:

r'^[^/]+/the-same-string'

参见regex demo