如何在c#regex中查找字符串中的所有近词?

时间:2014-04-13 08:52:16

标签: c# regex

Regex.Matches("word1 word1 word1", @"\bword1\W+(?:\w+\W+){0,1}?word1\b");

此正则表达式仅返回一次"word1 word1"

我需要添加到此正则表达式以获取如下所示的所有事件(可能是一些递归模式)?

  1. "word1 word1"
  2. "word1 word1"
  3. "word1 word1 word1"
  4. 抱歉我的(令人困惑的)示例不是关于重复单词的问题。为了更清楚,我给出了第二个例子:" xxx_w1 aa yyy_w1 zzz_w1"。 我想得到以" _w1"结尾的单词。用空格分隔一个字(一些距离),我的例子的结果应该是:

    1. xxx_w1 aa yyy_w1
    2. yyy_w1 zzz_w1
    3. 上面我的正则表达式的问题是我只获得了第一个匹配而不是上面的两个匹配。

1 个答案:

答案 0 :(得分:0)

要在文本中查找重复的单词,请尝试以下模式:

\b(\w+)\b(?:\s*\1)+

这就是行动:

Finding repeated words in a string