为什么print(re.search("c*","bccc").group())
什么都没得到?我认为它也会ccc
,*
为零时或多次,c*
可以匹配ccc
,为什么无法在表达式{{1}中获取ccc }?
re.search("c*","bccc")
答案 0 :(得分:4)
正则表达式从头开始扫描,re.search()
返回第一个合法匹配。因为您要求零个或多个c
个字符,所以空字符串是第一个合法匹配。
使用re.findall()
查找所有非重叠的法律匹配:
>>> re.findall("c*","bccc")
['', 'ccc', '']
或添加锚点:
>>> re.search("c*$","bccc").group()
'ccc'
或使用+
匹配1个或多个字符:
>>> re.search("c+","bccc").group()
'ccc'