lzb1001 发表于 2022-4-25 18:01:30

请帮忙看看错在哪里?

python版本:3.7.6

帮忙看看下面错在哪里?

>>> t_str = 'I love Python 1314'
>>> import re
>>> result = re.search('(?i)(*)(*)(*)(\d*)', t_str)
>>> print(result)
<re.Match object; span=(0, 1), match='I'> # 不是我想要的结果!
>>> result = re.search('(?i)(*){3}(\d*)', t_str) # (*)有3个,能否写成(*){3}?
>>> print(result)
<re.Match object; span=(0, 1), match='I'> # 不是我想要的结果!

代码小白liu 发表于 2022-4-25 19:20:20

print(result.group())

Twilight6 发表于 2022-4-25 19:28:18



建议直接用 findall

https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=212444&pid=5819641

白two 发表于 2022-4-25 19:29:07

没看懂(?i)
应该是没有是设置大小写敏感吧
因为你没有吧 ' ' 空格考虑进去啊, 再自己改一下吧,我也忘得差不多了,只会一个 .*? 了

白two 发表于 2022-4-25 19:35:55

本帖最后由 白two 于 2022-4-25 19:48 编辑

>>> result = re.search('(i?)(*.)(*.)(*.)(\d*)', t_str)
>>> print(result)
<re.Match object; span=(0, 18), match='I love Python 1314'>
考虑空格和大小写,看一下是不是你想要的结果,第一个(*.)只匹配了一个空格
至于第一个小写 i 为啥能匹配上我也不知道
页: [1]
查看完整版本: 请帮忙看看错在哪里?