我开始学习正则表达式,我试图制作一个简单的正则表达式,它匹配起来毫无意义,但它以任何方式匹配 我在 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(具有所有格量词 ++ 的模式)一起使用,它永远不会匹配任何东西,因为它将需要匹配一个或多个字母,然后匹配另一个已经被第一个子模式使用的字母。所以,这与 (?!) 模式相同。
