【发布时间】:2019-09-30 12:18:12
【问题描述】:
我指的是re.findall函数的文档:
“结果中包含空匹配”是什么意思。?
【问题讨论】:
我指的是re.findall函数的文档:
“结果中包含空匹配”是什么意思。?
【问题讨论】:
当您使用匹配空字符串的组时会发生这种情况,例如:
print(re.findall(r'(\w)(\d?)(\w)', "bc"))
输出:
[('b', '', 'c')]
此处组 (\d?) 匹配 '' 并包含在结果中。
【讨论】:
(\w)|(\d) 不会产生任何空匹配项。
'' 匹配,但为什么它会产生两个元素?
n 捕获组,列表中的每个元组都将包含n 元素,其顺序与组相同。
这只是意味着当匹配是“”或空字符串时,它会包含在结果列表中。
【讨论】:
零长度匹配,或空匹配。
正则表达式由边界定义或锚点组成,例如运算符^。一旦锚点被击中,你就有了一个匹配,它可以是“空的”,紧随其后的是另一个锚点。
【讨论】:
如果主题是空字符串,则 fullmatch() 对任何可以找到...的正则表达式计算为 True 整个正则表达式匹配不包含在元组中,除非您将整个 ... 出现在常规表达式,因为原始字符串不提供转义它的方法。
【讨论】: