1

大家好:我需要使用 RexEx 匹配相似的单词。例如,如果我有一个包含“自治”之类的词的模式,它应该匹配“自治”这个词而不匹配“自治”。
示例代码:

void modify(string word)
{
string input = "This island is a colony; however,it is autonomous and " + 
"receives no orders from the mother country, autonomy, N.";
string pattern = @",\s" + word + @"\s[v|n|adj]\.";//word = "autonomous";
Regex reg = new Regex(pattern);
string output = reg.Replace(input, ".");
}
4

2 回答 2

1

我不确定您是否能够仅使用正则表达式轻松实现。

你应该看看模式匹配算法。这里有一个类似的问题涵盖了这个主题。

于 2012-08-12T05:11:14.577 回答
1

这可能是您正在寻找的:

string s= "This island is a colony; however,it is autonomous and receives no orders from the mother country, autonomy, N.";;
string pattern="autonomous";
Regex r=new Regex(@"\b(?!"+pattern+")"+pattern.Substring(0,pattern.Length/2)+@".*?\b");
r.Replace(s,".");
于 2012-08-12T06:05:21.907 回答