大家好,小弟今天在使用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
若我的写法有误,我该怎么修正?
感谢各位大神