所有重复的单词

时间:2015-03-22 11:33:54

标签: java .net regex

我需要找到所有重复的单词。 例如:

"abc some word abc eee word abc"

应匹配:

abc abc abc word word

OR

abc word abc word abc

我尝试过:"(\b\w+\b)(?=.*?\b\1\b)"但它与上一个重复的单词不匹配。

P.S 是否可以使用正则表达式(java或.net regex引擎)查找所有重复项?

2 个答案:

答案 0 :(得分:1)

我建议只使用

,而不是使用正则表达式
Map<String, Integer>

键是您从文本中解析的词;该值表示计数器(出现次数)。用1初始化计数器;当你再次找到同一个单词时会增加。

答案 1 :(得分:0)

\b(\w+)\b(?=(?:(?!\b\1\b).)*\b(\1)\b(?:(?!\b\1\b).)*$)|\b(\w+)\b(?=.*?\b\3\b)

试试这个。查看演示。抓住capturesgroups

https://regex101.com/r/pT4tM5/31