学习re正则表达式中多重匹配,结果不符合我预期,帮忙看一下哈

JeanLove 2018-05-05 10:23:05
我有下面几行代码

import re
print re.match("([0-9]{2})*","123456").group()
print re.match("([0-9]{2}).","123456").group()


我在windows和mac上面都试验了一下,结果是一样的。用的是python2.7.13
打印的结果是
123456
123

第一个打印的符合我预期,[0-9]{2}一共匹配了3次,所以整个字符串都打印出来了。
第二个语句,“.”表示匹配0次或者一次对吧,也就是应该匹配2个字符吧。为什么打印了3个字符?

我的理解错在哪里?
谢谢

...全文
395 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
欢乐的小猪 2018-05-05
  • 打赏
  • 举报
回复
.不是匹配除换行符以外的任意字符 吗
欢乐的小猪 2018-05-05
  • 打赏
  • 举报
回复
匹配0次或者一次 是问号 ?
混沌鳄鱼 2018-05-05
  • 打赏
  • 举报
回复
把 点换成问号就可以了

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧