我有两个正则表达式(简化为相等)
r'^(?P<slug>(^foo)[-\w]+)/$'
r'^(?P<slug>(^foo)[-\w]+)/$'
我会在第一个上添加一个排除项以检查结尾,以便后者获胜。
例如:
foobar/
应该通过第一个而不是后者
我想foobar-my-string/
失败第一个但匹配后者
我试过@sdanzig 的回答:
r'^(?P<slug>(^foo)[-\w]+(?!my-string$))/$'
r'^(?P<slug>(^foo)[-\w]+)/$'
但这不起作用我总是使用以“my-string”结尾或不以“my-string”结尾的字符串进入后者
我也尝试了相反的方法,因为我的正则表达式是从上到下评估的,但它也不起作用:
r'^(?P<slug>(^foo)[-\w]+(my-string$))/$'
r'^(?P<slug>(^foo)[-\w]+(?!my-string$))/$'