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 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化