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