【发布时间】:2018-12-24 09:27:03
【问题描述】:
如果 IF 语句允许,我正在尝试将 re.search 的输出与列表进行匹配并运行代码。但是,即使我告诉 IF 语句匹配 True 或 False,IF 语句也不会继续执行。
在python中运行搜索:
>>> re.search(r'...$', 'abcde1234doc').group() in ['doc', 'rtf', 'txt']
>>> True
返回 True,因此通过要求 IF 语句匹配 True,它应该继续执行它的代码。但这似乎不起作用。
if re.search(r'...$', 'abcde1234doc').group() in ['doc', 'rtf', 'txt'] == True:
print'regex search matched!'
else:
print'regex search not matched'
当正则表达式搜索返回 True 时,我希望 IF 语句继续其代码,但是 IF 语句不匹配并直接进入 ELSE。
【问题讨论】:
-
尝试在
== True之前的整个表达式周围加上括号 -
你只需要
if re.search(r'...$', 'abcde1234doc').group() in ['doc', 'rtf', 'txt']:。 -
只需删除
== True -
@Austin 哦,太好了!我将在我的代码中使用它
-
@MrU,没错。由于正则表达式搜索返回一个真实值,因此可以处理这种情况。
标签: python regex python-2.7 list if-statement