gpt4 book ai didi

python - 计算字符串中最大的连续 RE 组

转载 作者:行者123 更新时间:2023-12-04 10:45:00 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





re.findall behaves weird

(3 个回答)


去年关闭。




如何计算字符串中连续字符串组的最大数量?

import re

s = "HELLOasdHELLOasdHELLOHELLOHELLOasdHELLOHELLO"

# Give me the max amount of consecutive HELLO groups ---> wich is 3
# There's a group of 3 and a group of 2, but 3 is the max.

count = re.findall("(HELLO)+", s) # count is: ['HELLO', 'HELLO', 'HELLO', 'HELLO']
count = len(count)
print(count)

输出是:

4



这是完全错误的。连续 HELLO 的最大数量为 3。

我想我使用了错误的 RE,我不知道如何计算这些重复次数以找到最大值。

我不明白为什么输出是 4。

谢谢!

最佳答案

您需要捕获连续 HELLO 的整个字符串在你的比赛中;那么你可以算出HELLO的数量s 通过将匹配字符串的长度除以 5(HELLO 的长度)。使用列表理解:

import re

s = "HELLOasdHELLOasdHELLOHELLOHELLOasdHELLOHELLO"

print(max([len(x) // 5 for x in re.findall(r'((?:HELLO)+)', s)]))

输出
3

关于python - 计算字符串中最大的连续 RE 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59746080/

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