【发布时间】:2021-02-19 15:44:13
【问题描述】:
这是我的代码,
phone_list = ['234-572-1236 Charles', '234-753-1234 Crystal', '874-237-7532 Meg']
import re
result1 = [re.match(r'\d{3}-\d{3}-\d{4}', n) for n in phone_list]
result2 = [re.search(r'\d{3}-\d{3}-\d{4}', n) for n in phone_list]
print(result1)
print(result2)
# why they are not the same?
print(result1 == result2)
print(result1[0] == result2[0])
print(result1[1] == result2[1])
print(result1[2] == result2[2])
我使用 re.match() 和 re.search() 来获得相同的结果。 但是当通过比较运算符比较结果时,它都给我 False,为什么?
【问题讨论】:
-
Match对象可以处理相同的值,但它仍然是不同的对象。你可以通过内置id()获取对象的唯一ID,你会看到对象的ID不同。 -
我没有看到打印的输出...
标签: python regex comparison-operators