67、贪婪模式、非贪婪模式

小白量化 2025-12-19 13:19:41 13 举报

1、贪婪模式
指正则表达式在匹配字符串时,会尽可能多地匹配字符,直到无法继续匹配为止。默认情况下,采用贪婪匹配。

# 示例
import re

res = re.match(r"\w*", "12345abcdefgfff##1345")
print(res.group())

res = re.match(r"\w+", "12345abcdefgfff##1345")
print(res.group())

res = re.match(r"\w{2,6}", "12345abcdefgfff##1345")
print(res.group())

2、非贪婪模式
指正则表达式在匹配字符串时,会尽可能少地匹配字符,只要这样的匹配能够使整个表达式得到满足即可。
使用 ? 紧跟在量词(如 *、+、{n,m} )后面来表示非贪婪匹配。

# 示例
import re

res = re.match(r"\w*?", "12345abcdefgfff##1345")    # 按照最少次数(0)匹配
print(res.group())    # ""

res = re.match(r"\w+?", "12345abcdefgfff##1345")   # 按照最少次数(1)匹配
print(res.group())   # ”1“

res = re.match(r"\w{2,6}?", "12345abcdefgfff##1345")    # 按照最少次数(2)匹配
print(res.group())


量化小白,从0开始学量化! 1

著作权归文章作者所有。 未经作者允许禁止转载!

最新回复 ( 0 )
发新帖
0
DEPRECATED: addslashes(): Passing null to parameter #1 ($string) of type string is deprecated (/data/user/htdocs/xiunophp/xiunophp.min.php:48)