qq_52904079 2021-09-23 17:18 采纳率: 100%
浏览 63
已结题

请教Python的正则表达式

大佬们,我是一个刚学Python的新手,最近看到正则表达式,有一个问题百思不得其解。就是图片里的这个字符串“127.0.0.1 192.168.1.66”,按照书中所写r"[1-9]{1,3}(\.[0-9]{1,3}{3}",匹配到的应该是(\.[0-9]{1,3})的结果,但是代码运行之后只有.1和.66为啥没有.0呀,这个不是也符合条件吗



import re
pattern=r'[1-9]{1,3}(\.[0-9]{1,3}){3}'
str1='127.0.0.1 192.168.1.66'
match=re.findall(pattern,str1)
print(match)




  • 写回答

2条回答 默认 最新

  • 关注

    findall()函数有个特点,当正则表达式中有子匹配时,会忽略整体匹配的结果。只会获取子匹配的结果。
    因为你正则表达式中()子匹配只有一个,只能保留一个子匹配的结果,
    (.[0-9]{1,3})是正则中第一个子匹配,虽然这第一个子匹配重复匹配了3次。但是获取子匹配的结果都是第一次子匹配的结果,同一个子匹配只能保留一个结果,后面获取的会覆盖前面的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月1日
  • 已采纳回答 9月23日
  • 修改了问题 9月23日
  • 修改了问题 9月23日
  • 展开全部

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭