|符号前后调换,为什么结果不一样呢?
text = '2021年3月10日'
print(re.findall(r'\d{4}年\d{1,2}月\d{1,2}日|\d{4}年\d{1,2}月\d{1,2}', text))
# ['2021年3月10日']
print(re.findall(r'\d{4}年\d{1,2}月\d{1,2}|\d{4}年\d{1,2}月\d{1,2}日', text))
# ['2021年3月10']
|符号前后调换,为什么结果不一样呢?
text = '2021年3月10日'
print(re.findall(r'\d{4}年\d{1,2}月\d{1,2}日|\d{4}年\d{1,2}月\d{1,2}', text))
# ['2021年3月10日']
print(re.findall(r'\d{4}年\d{1,2}月\d{1,2}|\d{4}年\d{1,2}月\d{1,2}日', text))
# ['2021年3月10']
就是或的意思。从前往后,只要匹配成功第一个,就不会再匹配第二个了