我指的是re.findall
函数的文档:
“结果中包含空匹配项”是什么意思。?
它只是意味着当匹配是“”或空字符串时,它包含在结果列表中。
当您使用与空字符串匹配的组时会发生这种情况,例如:
print(re.findall(r'(\w)(\d?)(\w)', "bc"))
输出:
[('b', '', 'c')]
这里组(\d?)
匹配''
并包含在结果中。
零长度匹配,或空匹配。
正则表达式由边界定义或锚点组成,例如 operator ^
。一旦锚被击中,你就有了一个匹配,它可以是“空的”,紧随其后的是另一个锚。
如果主题是空字符串,则对于任何可以找到...的正则表达式,fullmatch() 的计算结果为 True 整个正则表达式匹配不包含在元组中,除非您将整个 ... 出现在正则表达式中原始字符串不提供逃避它的方法。