Skip to main content
 首页 » 编程设计

python之不应该工作的正则表达式

2025年05月04日29JeffreyZhao

我开始学习正则表达式,我试图制作一个简单的正则表达式,它匹配起来毫无意义,但它以任何方式匹配 我在 python 中尝试过

import re 
 
 
pattern = r'[a-z]+[a-z]' 
 
 
 
print re.findall(pattern,"adasdasad"); 

它返回了 ['adasdasad'] 它不应该工作的地方,因为 [a-z]+ 应该已经消耗了整个字符串,其余的 ([a-z]) 不会找到任何东西来使用它为什么评估 ????

请您参考如下方法:

+ 不是所有格量词,允许回溯到量化的子模式。

[a-z]+ 匹配 adasdasa 而 [a-z] 匹配 d,参见 this demo .

顺便说一句,如果您将 [a-z]++[a-z] 与 PCRE(具有所有格量词 ++ 的模式)一起使用,它永远不会匹配任何东西,因为它将需要匹配一个或多个字母,然后匹配另一个已经被第一个子模式使用的字母。所以,这与 (?!) 模式相同。