
[英]I can't understand why it won't return True always, since the ''return True'' statement is outside the loop
[英]Why can't I match True / False value in an IF statement? [duplicate]
我正在尝试将re.search的输出与列表匹配,并在IF语句允许的情况下运行代码。 但是,即使我告诉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。
Python中的布尔运算符链。
x in y == z
手段
x in y and y==z
您可以将条件写为
if (re.search(r'...$', 'abcde1234doc').group() in ['doc', 'rtf', 'txt']) == True:
如果愿意的话,最好还是放弃==True
并坚持使用
if re.search(r'...$', 'abcde1234doc').group() in ['doc', 'rtf', 'txt']:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.