为什么我不能在IF语句中匹配True / False值?

时间:2018-12-24 09:27:04

标签: python regex python-2.7 list if-statement

我正在尝试将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。

1 个答案:

答案 0 :(得分:1)

Python中的布尔运算符链。

>>> directoryPath = '//TEAM/PATH_1/PATH_2/2018-Aug-06'
>>> directoryPath += '/'
>>> directoryPath
'//TEAM/PATH_1/PATH_2/2018-Aug-06/'

表示

x in y == z

您可以将条件写为

x in y and y==z

如果愿意的话,但最好不要使用if (re.search(r'...$', 'abcde1234doc').group() in ['doc', 'rtf', 'txt']) == True: 并坚持使用

==True