gpt4 book ai didi

python - 寻找重复的子串

转载 作者:太空狗 更新时间:2023-10-30 00:11:22 25 4
gpt4 key购买 nike

有一些任意字符串,例如

hello hello hello I am I am I am your string string string string of strings

我能否以某种方式找到重复的子字符串由空格分隔 (EDIT)?在这种情况下,它将是“你好”、“我是”和“字符串”。

我一直在想这个问题有一段时间了,但我仍然找不到任何真正的解决方案。我也阅读了一些关于这个主题的文章并找到了后缀树,但这对我有帮助吗,即使我需要找到每一个重复,例如重复次数大于两次?

如果是这样,是否有一些 python 库可以处理后缀树并对其执行操作?

编辑: 很抱歉我不够清楚。因此,为了清楚起见 - 我正在寻找重复的子字符串,这意味着字符串中的序列,例如,就正则表达式而言,可以用 + 或 {} 通配符代替。所以如果我必须从列出的字符串中生成正则表达式,我会这样做

(hello ){3}(I am ){3}your (string ){4}of strings 

最佳答案

要查找重复两次或更多次的两个或更多字符,每个字符由空格分隔,请使用:

(.{2,}?)(?:\s+\1)+

这是一个使用您的测试字符串的工作示例:http://bit.ly/17cKX62

编辑:通过添加 ? 使捕获组中的量词不情愿匹配最短的可能匹配项(即现在匹配“string”而不是“string string”)

编辑 2:为更清晰的结果添加了必需的空格分隔符

关于python - 寻找重复的子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18551254/

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