首页技术文章正文

正则表达式中贪婪模式与非贪婪模式的区别

更新时间:2021-03-05 来源:黑马程序员 浏览量:

1577370495235_学IT就到黑马程序员.gif

(1)问题分析
面试官主要考核应聘者对正则表达式的了解程度
(2)核心问题讲解
在形式上非贪婪模式有一个“?”作为该部分的结束标志。
在功能上贪婪模式是尽可能多的匹配当前正则表达式,可能会包含好几个满足正则表达式的字符串,非贪婪模式,在满足所有正则表达式的情况下尽可能少的匹配当前正则表达式。
(3)问题扩展

import re
example = "<li>goods</li><li>name</li>"
# 贪婪模式
greed_pattern = re.compile("<li>.*</li>")
# 非贪婪模式
not_greed_pattern = re.compile("<li>.*?</li>")
greed_result = greed_pattern.search(example)
not_greed_result = not_greed_pattern.search(example)
print(f"贪婪模式:{greed_result.group()}")
print(f"非贪婪模式:{not_greed_result.group()}")
(4)结合项目中使用




猜你喜欢:

RDD数据丢失后如何恢复?RDD容错机制介绍

【mysql第二次安装不了】mysql安装失败怎么清理干净?

使用compile()函数编译正则表达式【Python技术文章】

Python+数据分析培训课程

分享到:
在线咨询 我要报名
和我们在线交谈!