2012-08-12 116 views
1

大家好:我需要使用RexEx匹配相似的單詞。例如,如果我有一個包含「自主」這樣的詞的模式,它應該匹配單詞「自主」而不匹配「自主」。
示例代碼:
使用RegEx匹配相似單詞

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, "."); 
} 
+0

對不起。我向女士道歉。 – FadelMS 2012-08-12 05:13:46

+0

你確定你的代碼與自治系統匹配嗎? – 2012-08-12 05:22:52

+0

@habib:那是我不想要的。 – FadelMS 2012-08-12 05:28:46

回答

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)[email protected]".*?\b"); 
r.Replace(s,"."); 
1

我不知道你將能夠輕鬆地單獨用正則表達式實現。

你應該看看模式匹配算法。有a similar question here涵蓋此主題。