正则表达式用于查找没有空格的重复单词

时间:2018-06-13 14:54:19

标签: regex

我正在寻找一个正则表达式,它允许我找到重复的单词'没有空格分开,即:

wordwordword wordword

这有可能吗?如果有的话,任何想法都会很棒!

提前致谢!

1 个答案:

答案 0 :(得分:1)

试试这个表达式(javascript):

/(.*)\1+/gm

(.*)捕获任何内容,并使用\1+

查找该捕获组的一次或多次重复

请参阅Regex101

上的示例

请记住,这也会返回空字符串。为了避免过滤它们。

JS:

"This text hashashas many repeated wordswords".match(/(.*)\1+/gm).filter(x=>x.length>0)

将返回

[ "hashashas", "wordswords" ]

修改 @Lithis在两条评论中都是正确的。将*更改为+可避免捕获空字符。并且为了避免捕获重复的字母,最好的解决方案是在正则表达式的两端添加边界\b(如@bobble bubble所述)。

正则表达式:

\b(.+)\1+\b