gpt4 book ai didi

python - 使用 re.match 查找重复字符

转载 作者:行者123 更新时间:2023-11-28 21:07:57 29 4
gpt4 key购买 nike

我想弄清楚为什么下面的代码打印“2”而不是“1”

import re

line = "9111222"
m = re.match( r'.*(\w)\1+', line)
print m.group(1)

我知道 re.match 尝试匹配字符串的开头,但我假设它会看到“111”并打印“1”

最佳答案

正则表达式中的* 量词是贪婪,这意味着它将尝试匹配尽可能多的匹配项。在您的字符串中,91112(2)2 将允许 .* 匹配最多的字符,因此这是引擎选择的匹配项,倒数第二个 2 被捕获。

参见 https://regex101.com/r/IkM5gX/2

关于python - 使用 re.match 查找重复字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40814434/

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