[('ab', 'ab', 'ab'), ('ab', 'ab', 'ab')]
#為什么出現2個元組
#非捕獲組執行順序怎么算?
uj5u.com熱心網友回復:
若匹配規則里有1個括號:
re.findall('(ab)', 'abab')
回傳的是括號所匹配到的結果, 匹配到兩個ab,輸出是 ['ab', 'ab']
小括號外再嵌套小括號:
re.findall('((ab))', 'abab')
再次匹配了一次,并且有幾個單括號匹配到的結果,就有幾個元祖。元祖的元素個數是匹配的次數。
uj5u.com熱心網友回復:
那'(((ab)))','abab'uj5u.com熱心網友回復:
[('ab', 'ab', 'ab', 'ab', 'ab'), ('ab', 'ab', 'ab', 'ab', 'ab')] 為什么出現那么多uj5u.com熱心網友回復:
你私聊有陌生人設定,不能回復。從內到外算。第一次匹配結果是串列 [ab,ac,ad,ae,af], 第二次是[ (ab,ab),(ac,ac)......],
等于把匹配的值增加到了第一次匹配的結果中。
匹配幾次(幾個括號),元祖內就有多少個元素。
print(re.findall('(((ab)))', 'abab'))
[('ab', 'ab', 'ab'), ('ab', 'ab', 'ab')]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/107904.html
上一篇:求助大神幫我看看!
