字符串:XXaaaXXbbbXXcccXXdddOO
我想匹配以 'XX' 开头并以 'OO' 结尾的最小字符串。
所以我写了非贪婪的注册:r'XX.*?OO'
>>> str = 'XXaaaXXbbbXXcccXXdddOO'
>>> re.findall(r'XX.*?OO', str)
['XXaaaXXbbbXXcccXXdddOO']
我以为它会返回['XXdddOO']但它太“贪婪”了。
然后我知道我一定是弄错了,因为上面的限定符将首先匹配“XX”,然后显示它是“非贪婪的”。
但我仍然想弄清楚我怎样才能直接得到我的结果['XXdddOO']。任何回复表示赞赏。
到现在为止,重点其实不是非贪心,或者说,是我眼中的非贪心:左限定符(XX)和右限定符( OO). 当然事实是字符串是从左到右处理的。