为了账号安全,请及时绑定邮箱和手机立即绑定

用python编写正则表达式时.* , (.)* , [.]*分别代表什么意思?

用python编写正则表达式时.* , (.)* , [.]*分别代表什么意思?

鸿蒙传说 2018-09-03 07:30:03
题目描述如题,我是一个初学者,刚刚学到正则表达式,想要了解一下点号的具体用法,就随便编了一段简单的代码。然后发现匹配的表达式分别是.,(.)和[.]*是匹配的结果大不相同。我想问一下这三者具体的区别,以及为什么会有这样的结果。相关代码// 请把代码文本粘贴到下方(请勿用图片代替代码)import res= 'nhellonmy name isnBob' r = re.findall('.*',s) print(r)r = re.findall('(.)*',s)r = re.findall('[.]*',s)代码结果上面的代码,在匹配式是.*的时候结果是这样的这个我还差不多能理解 然后在(.)*的时候结果是这样的在[.]*的时候结果是这样的后两个我就不是很理解了,望大家帮忙解答一下,谢谢。 另外我看点号在正则表达式里面的意义是匹配除了换行符之外的字符,那么在上面的代码中,匹配完最后一个字符 'b'之后为什么还会匹配出来一个空字符''呢?
查看完整描述

1 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

又到了祭出我收藏多年的利器的时刻了,每逢这种问题必上它,请狠狠点击这里

这个工具呢,有教程、有参考文档、有调试、有分析、有常用正则收藏和分享,简直屌的飞起,居家旅行必备。


查看完整回答
反对 回复 2018-09-03
?
哔哔one

TA贡献1854条经验 获得超8个赞

.*

匹配任意非换行字符 匹配结果可以0条 不关心匹配结果

(.)*

和上面一样 只不过这个关心匹配结果并保存到组

[.]*

和第一个一样


查看完整回答
反对 回复 2018-09-03
  • 1 回答
  • 0 关注
  • 900 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信