Python正则表达式-捕获组不包含特定字符时匹配
我试图创建一个python正则表达式,如果捕获组包含特定的字符,它就会失败 目前这是我的正则表达式:Python正则表达式-捕获组不包含特定字符时匹配,python,regex,Python,Regex,我试图创建一个python正则表达式,如果捕获组包含特定的字符,它就会失败 目前这是我的正则表达式: ^/api/(?P<username>.+)/$ 但是,捕获组将test/test匹配为用户名。如果遇到“/”,我希望正则表达式失败。您试图避免在第二个和最后一个之间出现任何正向斜杠。可以使用字符模式将其排除在匹配项中: ^/api/(?P<username>[^/]+)/$ ^/api/(?P[^/]+)/$ 其中,[^/]+将匹配一个或多个不包含正斜杠的字符。^
^/api/(?P<username>.+)/$
但是,捕获组将
test/test
匹配为用户名。如果遇到“/”,我希望正则表达式失败。您试图避免在第二个和最后一个之间出现任何正向斜杠。可以使用字符模式将其排除在匹配项中:
^/api/(?P<username>[^/]+)/$
^/api/(?P[^/]+)/$
其中,
[^/]+
将匹配一个或多个不包含正斜杠的字符。^/api/(?p[^/]+)/$
?@coldspeed您可以发布答案。它起作用了。我对regex有点陌生,忘记了+符号。。。
^/api/(?P<username>[^/]+)/$