我正在寻找一个正则表达式,它允许我找到重复的单词'没有空格分开,即:
wordwordword wordword
这有可能吗?如果有的话,任何想法都会很棒!
提前致谢!
答案 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