Zaa*_*ani 3 python regex tornado python-2.7
我想检查定义模式列表中的 URL。我的模式列表是:
pat = ['/FoodListAdminCP/Login[/]?', '/FoodListAdminCP[/]?']
Run Code Online (Sandbox Code Playgroud)
我使用此代码来检查与此列表中的一项匹配的 URL
import re
f = re.compile('|'.join(pat))
if f.match(self.request.uri):
self.login = True
else:
self.login = False
Run Code Online (Sandbox Code Playgroud)
现在,如果我请求/FoodListAdminCP/DashboardURL,则它与模式匹配。因为此 URL 的开头与'/FoodListAdminCP[/]?'我的列表中的人员匹配。
我希望我的请求 URL 与整个列表项匹配,而不是其中的一部分。
我怎样才能做到呢?
如果要将整个 URL 与您的模式进行匹配,可以使用“^”和“$”来匹配要匹配的字符串的开头和结尾。
在你的例子中你可以使用
f = re.compile('|'.join( '(^'+p+'$)' for p in pat ))
Run Code Online (Sandbox Code Playgroud)
获取正则表达式
'(^/FoodListAdminCP/Login[/]?$)|(^/FoodListAdminCP[/]?$)'
Run Code Online (Sandbox Code Playgroud)
从你的pat清单中。
| 归档时间: |
|
| 查看次数: |
1215 次 |
| 最近记录: |