使用python re模块进行说明:
import re
str="<aaa>666<bbb>777<bbb>"
res='<aaa>(.*)<bbb>'
print(re.compile(res).findall(str))
我们要得到str中的666,使用贪婪匹配.*得到的结果:
['666<bbb>777']
不是我们想要的结果,使用非贪婪 .*?即可:
import re
str="<aaa>666<bbb>777<bbb>"
res='<aaa>(.*?)<bbb>'
print(re.compile(res).findall(str))
结果:
['666']
结论:正则匹配中,贪婪模式会尽多的进行匹配,如例中,
非贪婪是尽可能少的进行匹配.