[英]Python regular expression findall *
我无法理解以下代码行为。
>>> import re
>>> text = 'been'
>>> r = re.compile(r'b(e)*')
>>> r.search(text).group()
'bee' #makes sense
>>> r.findall(text)
['e'] #makes no sense
我阅读了一些有关捕获组和所有组的已有问题和答案。 但是我还是很困惑。 有人可以解释一下。
当模式包含捕获组时, findall
仅返回捕获组的内容,而不返回整个匹配项。
如果此行为看起来很奇怪,则在特定上下文中轻松提取字符串的一部分(在子字符串之前或之后)非常有用,尤其是因为python re模块不支持可变长度的lookbehinds。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.