gpt4 book ai didi

python - 如何检查与多个模式匹配的字符串?

转载 作者:行者123 更新时间:2023-11-28 20:44:58 24 4
gpt4 key购买 nike

我想检查定义模式列表中的 URL。我的模式列表是:

pat = ['/FoodListAdminCP/Login[/]?', '/FoodListAdminCP[/]?']

我使用此代码检查与此列表中的一项匹配的 URL

import re
f = re.compile('|'.join(pat))
if f.match(self.request.uri):
self.login = True
else:
self.login = False

现在,如果我请求 /FoodListAdminCP/Dashboard 作为 URL,它与模式匹配。因为此 URL 的开头与我列表中的 '/FoodListAdminCP[/]?' 匹配。

我希望我的请求 URL 与整个列表项匹配,而不是其中的一部分。

我该怎么做?

最佳答案

如果要将整个 URL 与您的模式进行匹配,可以使用“^”和“$”来匹配要匹配的字符串的开头和结尾。

在你的例子中你可以使用

f = re.compile('|'.join( '(^'+p+'$)' for p in pat ))

获取正则表达式

'(^/FoodListAdminCP/Login[/]?$)|(^/FoodListAdminCP[/]?$)'

来自您的 pat 列表。

关于python - 如何检查与多个模式匹配的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24721423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com