Python正则表达式 - 如果捕获组不包含特定字符,则匹配

3
我将尝试制作一个Python正则表达式,如果捕获组包含特定字符,则失败。
目前,这是我的正则表达式:
^/api/(?P<username>.+)/$

这个正则表达式可以接受以下字符串:
/api/test/      #Should match
/api/test/test/ #Should not match

然而,捕获组匹配test/test作为用户名。如果遇到“/”,我希望正则表达式失败。

1
^/api/(?P<username>[^/]+)/$? - cs95
@coldspeed 你可以发布一个答案。它有效。我有点新于正则表达式,忘记了加号... - Exprove
1个回答

2

您试图避免第二个和最后一个之间的任何正斜杠。您可以使用字符模式在匹配中排除它:

^/api/(?P<username>[^/]+)/$

[^/]+将匹配一个或多个不包含斜杠的字符。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接