[英]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.