Python3中正则的贪婪匹配模式

Posted 阿dun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3中正则的贪婪匹配模式相关的知识,希望对你有一定的参考价值。

什么是贪婪模式

  • 正则在进行匹配时,从开始位置查找最远的结束位置,这种模式称之为贪婪模式。
  • 在进行HTML标签类似内容获取时,贪婪模式会导致整个内容的返回,需要使用非贪婪模式。
  • 固定的书写规则 : .*? 这种方式就是非贪婪模式,或者说是惰性模式
  • Python中默认使用贪婪模式

例子

>>> import re
>>> str = '<div>---hello---</div><div>---world---</div>'

>>> print(re.findall(r'<div>(.*?)</div>', str))  #非贪婪模式
['---hello---', '---world---']

>>> print re.findall(r'<div>(.*)</div>', str)   #贪婪模式
['---hello---</div><div>---world---']

以上是关于Python3中正则的贪婪匹配模式的主要内容,如果未能解决你的问题,请参考以下文章

js正则匹配总结

Python3之正则re

浅谈正则表达式匹配模式—贪婪模式

python的正则表达式(re函数,贪婪和非贪婪)

正则表达式贪婪与非贪婪模式

python正则表达式贪婪与非贪婪模式