当前位置: 首页 > 知识库问答 >
问题:

寻找重复子串

羊舌光赫
2023-03-14

具有任意字符串的,如

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

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

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

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

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

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

共有1个答案

壤驷文华
2023-03-14

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

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

下面是一个测试字符串的工作示例:http://bit.ly/17cKX62

编辑:在捕获组中不愿意添加量词?匹配最短的匹配(即现在匹配字符串而不是字符串)

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

 类似资料:
  • 解决此问题的最佳方法(性能方面)是什么?有人建议我使用后缀树。这是最好的方法吗?

  • 问题内容: 我有一个带有varchar列的表,我想在此列中查找具有重复值的所有记录。我可以用来查找重复项的最佳查询是什么? 问题答案: 用子句做一个。假设 name 是您要在其中查找重复项的列: 这将返回在第一列中具有 名称 值的结果,并计算该值在第二列中出现的次数。

  • 可能重复: 查找字符串中最长的重复序列 我正在解决一个问题,我需要找到重复最多的模式。 为了简单和方便,请考虑这个字符串: 重复次数最多的序列(例如,最初考虑字符串长度大于3个字符)是“Lorem Ipsum”。“Lorem”和“Ipsum”当然也重复相同的次数,但如果它们重复相同的次数,则较长的字符串优先于较短的字符串。 什么样的算法可以有效地找到这种模式,最好是在Python中?

  • 给定一个高度为h的二叉查找树(BST),它需要O(k h)时间来连续应用BST Inorder后续算法k次,从任何节点开始,在先前调用返回的节点上应用每个下一个调用。 伪代码: 我如何证明这种时间复杂性? 特别是,我试图建立k和访问的节点数之间的关系,但在这里找不到任何模式。

  • 我正在寻找一种快速算法,搜索给定字符串中最长的重复子字符串(至少重复1次),并尽可能降低时间复杂度和(如果可能)内存(RAM)。 我见过一些实现,但大多数都不是为大量字符设计的(比如说)。一个例子是: 我已经尝试了100次包含的字符串。 它适用于小弦( 编辑:有没有办法不用在内存中加载一个(比如20GB)文件就可以做到这一点?

  • 本文向大家介绍Python实现针对给定字符串寻找最长非重复子串的方法,包括了Python实现针对给定字符串寻找最长非重复子串的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现针对给定字符串寻找最长非重复子串的方法。分享给大家供大家参考,具体如下: 问题: 给定一个字符串,寻找其中最长的重复子序列,如果字符串是单个字符组成的话如“aaaaaaaaaaaaa”那么满足要求的