gpt4 book ai didi

python - 如果以非贪婪方式使用,python 正则表达式中量词 {m,n} 中的第二个限制有什么用?

转载 作者:行者123 更新时间:2023-11-30 22:39:19 26 4
gpt4 key购买 nike

Python中的正则表达式re.compile(r'\w{3,5}?')将与至少具有三个不重叠的字母数字和下划线字符的任何模式匹配。我的问题是“第二个限制在量词 {3,5} 的非贪婪使用中是否有用,即即使将 5 替换为任何其他数字,结果也会相同。”即re.compile(r'\w{3,5}?')=re.compile(r'\w{3,6}?')=re.compile(r'\w{3,7}?')=re.compile(r'\w{3,}?')有人能给我举一个例子,说明第二个限制有什么用处吗?

最佳答案

当延迟量化模式出现在模式末尾时,它会匹配返回值所需匹配的最小字符数量。 123(\w*?) 在组 1 中始终不会产生任何值,因为 *? 匹配 个或多个字符,但 尽可能少

这意味着 \w{3,5}? 正则表达式将始终匹配 3 个单词字符,第二个参数将被“忽略”,因为它足以匹配单词 char 的 3 次出现.

如果惰性模式不在末尾,则第二个参数很重要。

查看示例:Test: (\w{3,5}?)-(\d+)根据字符串中单词字符的匹配程度,捕获第 1 组中不同数量的字符。

enter image description here

关于python - 如果以非贪婪方式使用,python 正则表达式中量词 {m,n} 中的第二个限制有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43200849/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com