0
如果我有一子(或「子模式」)在正則表達式交替另一個字符串或模式,像這樣的:蟒蛇re.findall()與子中交替
r'abcd|bc'
什麼是預期的行爲re.compile(r'abcd|bc').findall('abcd bcd bc ab')
?
嘗試它,我得到(預期)
['abcd', 'bc', 'bc']
,所以我想re.compile(r'bc|abcd').findall('abcd bcd bc ab')
可能產生['bc', 'bc', 'bc']
而是再次回到
['abcd', 'bc', 'bc']
有人能解釋一下嗎?我的印象是,findall
會貪婪地返回比賽,但顯然,它會回溯並嘗試匹配交替模式,這會產生更長的令牌。
我明白了。謝謝 – tiao