大家好,小弟今天在使用re尋找文章字串時,發現一個問題,
我想要從一個字串當中 找出 今天天氣好像(很好or不大好)
以下是程式碼:
import re
pattern=re.compile(r'今天天氣+.+(很好|不大好)')
print(pattern.findall('今天天氣好像不是很好'))
# [今天天氣好像不是很好]
print(pattern.search('今天天氣好像不是很好'))
# <re.Match object; span=(0, 10), match='今天天氣好像不是很好'>
print(pattern.search('今天天氣好像不是很好').group())
# 今天天氣好像不是很好
print(pattern.findall('今天天氣好像很好'))
# 今天天氣好像很好
print(pattern.search('今天天氣好像很好'))
# <re.Match object; span=(0, 10), match='今天天氣好像很好'>
print(pattern.search('今天天氣好像很好').group())
# 今天天氣好像很好
註解內容為我預期的輸出結果,而下列為輸出結果
['很好']
<re.Match object; span=(0, 10), match='今天天氣好像不是很好'>
今天天氣好像不是很好
['很好']
<re.Match object; span=(0, 8), match='今天天氣好像很好'>
今天天氣好像很好
想問一下,為什麼我用findall時只會回傳['很好'],
我的pattern裡面並沒有單獨這個條件呀QQ
若我的寫法有誤,我該怎麼修正?
感謝各位大神