Jen*_*das 6 python regex repeat
有一些任意的字符串,如
hello hello hello I am I am I am your string string string string of strings
Run Code Online (Sandbox Code Playgroud)
我可以以某种方式找到由空格(EDIT)分隔的重复子字符串吗?在这种情况下,它将是'你好','我是'和'字符串'.
我一直想知道这个问题,但我仍然找不到任何真正的解决方案.我也阅读了一些关于这个主题的文章,并查看了后缀树,但这可以帮助我,即使我需要找到重复次数,例如重复次数高于2?
如果是这样,是否有一些python库,可以处理后缀树并对它们执行操作?
编辑:对不起,我不够清楚.所以只是为了说清楚 - 我正在寻找重复的子字符串,这意味着字符串中的序列,例如,正则表达式可以用+或{}通配符代替.所以,如果我必须从列出的字符串中制作正则表达式,我会这样做
(hello ){3}(I am ){3}your (string ){4}of strings
Run Code Online (Sandbox Code Playgroud)
要查找重复两次或多次的两个或多个字符(每个字符均以空格分隔),请使用:
(.{2,}?)(?:\s+\1)+
Run Code Online (Sandbox Code Playgroud)
这是一个使用测试字符串的工作示例:http://bit.ly/17cKX62
编辑:通过添加 ? 使捕获组中的量词不情愿 匹配最短的可能匹配(即现在匹配“字符串”而不是“字符串字符串”)
编辑 2:添加了所需的空格分隔符以获得更清晰的结果
| 归档时间: |
|
| 查看次数: |
496 次 |
| 最近记录: |