joo*_*nli 2 python regex greedy non-greedy regex-greedy
字符串:XXaaaXXbbbXXcccXXdddOO
我想匹配以 'XX' 开头并以 'OO' 结尾的最小字符串。
所以我写了非贪婪的reg:r'XX.*?OO'
>>> str = 'XXaaaXXbbbXXcccXXdddOO'
>>> re.findall(r'XX.*?OO', str)
['XXaaaXXbbbXXcccXXdddOO']
我以为它会返回['XXdddOO']但它太“贪婪”了。
然后我知道我一定是弄错了,因为上面的限定符将首先匹配 'XX' 然后显示它是 'non-greedy'。
但我仍然想弄清楚如何直接得到我的结果['XXdddOO']。任何答复表示赞赏。
到目前为止,关键点实际上不是关于 non-greedy ,或者换句话说,它是关于我眼中的 non-greedy:它应该在左限定符(XX?和右限定符()之间匹配尽可能少的字符。 OO).当然事实是字符串是从左到右处理的。
| 归档时间: | 
 | 
| 查看次数: | 712 次 | 
| 最近记录: |