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