字符串:XXaaaXXbbbXXcccXXdddOO
我想匹配以“XX”开头并以“OO”结尾的最小字符串。
所以我写了非贪婪的reg:r'XX.*?OO'
>>> str = 'XXaaaXXbbbXXcccXXdddOO'
>>> re.findall(r'XX.*?OO', str)
['XXaaaXXbbbXXcccXXdddOO']
我以为它会返回 ['XXdddOO'] 但它太“贪婪”了。
那我知道我一定是弄错了,因为上面的限定符会先匹配'XX',然后显示它是'non-greedy'。
但我仍然想弄清楚如何直接['XXdddOO'] 得到我的结果。任何答复表示赞赏。
到现在为止,重点其实不是非贪心,或者说,我眼中的非贪心:左边限定符(XX)和右限定符(OO)。 当然,事实是字符串是从左到右处理的。
请您参考如下方法:
怎么样:
.*(XX.*?OO)
比赛将在第 1 组进行。
