为什么这个python字符串比较不按预期工作

时间:2018-03-24 13:59:23

标签: python python-3.x string-comparison

我在python中有以下比较:

"LC08_L1TP_215068_20151114_20170402_01_T1_B1"=="LC08*_B[1-7]"

哪个应该返回True但不返回True。有谁知道问题是什么,以及如何解决它?

2 个答案:

答案 0 :(得分:1)

您需要使用正则表达式。这可以使用re模块完成。在Python中,字符串只有在每个字符相同时才相等,而不是模式匹配。我相信你想要达到的目标是:

import re

print(re.match("LC08[^B]*_B[1-7]", "LC08_L1TP_215068_20151114_20170402_01_T1_B1") != None)

答案 1 :(得分:0)

请查看re module

import re

def main():
    mystring = 'LC08_L1TP_215068_20151114_20170402_01_T1_B1'
    m = re.search('^LC08_.*B\d{1,7}', mystring)
    print(m != None)

if __name__ == '__main__':
    main()