目标:掌握正则表达式的贪婪与非贪婪模式的特点

    一:正则表达式的贪婪与非贪婪模式

    贪婪模式概念:在python正则表达式中,默认是贪婪模式的,即尽可能匹配最多的符合规则的数据

    图示:

    image.png

    代码演示:

    image.png

    ——————————————————————————————————————————

    非贪婪模式概念:在符合正则表达式前提下,尽可能少的匹配数据

    贪婪模式转换为非贪婪模式:在 “*”“+”“?”“{n,m}” 元字符后面加上 即可将进行转换

    注意事项:在使用正则匹配字符串时默认为贪婪模式,尽可能的匹配数据,当使用字符?时变为非贪婪模式,就是在满足规则的情况下,取最少的数据

    实例:提取html代码中图片的链接

    贪婪模式提取:

    image.png

    非贪婪模式提取:

    image.png

    图解:正则表达式为 src = ‘(.*?)’是非贪婪模式, 当不加?时为贪婪模式,匹配的数据为 src = ‘2.jpg’ width = ‘128’ height = ‘128’因为是贪婪的,所以在满足正则的前提下尽可能多的匹配数据 ,当加上 时为非贪婪模式 匹配的数据为 src = ‘2.jpg’就可以满足正则了,为什么还要匹配更多的数据呢?