求教用正则表达式匹配括号

blahblah 2015-07-15 09:20:14
print re.match(r'\{(.*?)\}', "{abc}123[bbb]").groups()[0]


这样的语句可以匹配abc
但是如果
print re.match(r'\{(.*?)\}', "a{abc}123[bbb]").groups()[0]
就匹配不到东西,求教是什么原因呢。。。。用java的话这句正则可以匹配到呢
...全文
136 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sprawling 2015-07-15
  • 打赏
  • 举报
回复
.*?这个有点难理解啊。 .匹配任何字符,除换行以外 *匹配前面字符的0个或多个 ?匹配前面字符的0或1个。 三个在一起,何解
似梦飞花 2015-07-15
  • 打赏
  • 举报
回复
print(re.search(r'\{(.*?)\}', "a{abc}123[bbb]").groups()[0]) 正则是通用的 但方法起到的作用不一定一样 match是从开始匹配
t_bug1225 2015-07-15
  • 打赏
  • 举报
回复
引用 1 楼 zzgzzg00 的回复:
print(re.search(r'\{(.*?)\}', "a{abc}123[bbb]").groups()[0]) 正则是通用的 但方法起到的作用不一定一样 match是从开始匹配
正解,match是从第一个字符开始匹配,一旦开头的无法匹配就直接退出,而search是整个字符串匹配。

37,719

社区成员

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

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