簡體   English   中英

如何在C#正則表達式中找到字符串中所有附近的單詞?

[英]how to find all near words in string in 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"

抱歉,我的(令人困惑的)示例不是關於重復單詞的問題。 為了更清楚,我舉第二個例子:“ xxx_w1 aa yyy_w1 zzz_w1”。 我想得到以“ _w1”結尾的單詞,這些單詞之間用空格隔開或一個單詞(一定距離),本例的結果應為:

  1. xxx_w1 aa yyy_w1
  2. yyy_w1 zzz_w1

我上面的正則表達式的問題是我只得到第一個比賽,而不是上面的兩個比賽。

要在文本中查找重復的單詞,請嘗試以下模式:

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

它在起作用:

查找字符串中的重復單詞

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM