2014-03-05 50 views
1

我正在面臨寫入REGEX以從字符串中獲取所需輸出的問題。正則表達式在給定單詞後查找下一個單詞(其中包含特殊字符)

我有一個像string simpleInput = @"Website address www.yahoo[mail].com AND Following is the";

我想指定的「地址」字和結果要後下一個字一個字符串,即"www.yahoo[mail].com"

我已經寫了下面的一段代碼。

string pattern = @"address (?<after>\w+)"; 

MatchCollection matches = Regex.Matches(simpleInput, pattern, RegexOptions.Multiline | RegexOptions.IgnoreCase); 
string nextWord = string.Empty; 
foreach (Match match in matches) 
{ 
    nextWord = match.Groups["after"].ToString(); 
} 
Console.WriteLine("Word is: " + nextWord); 

這給了我輸出: 字是:WWW

如果如我所料輸出爲www.yahoo [郵件] .com上

任何人都可以請幫助? 我試着用\ D +,這給了我整個字符串..直到字符串結尾,所以給出了額外的文字,如「AND Following是」也出現在結果中。

在哪裏,我只是想在一個字「www.yahoo [郵件] .COM」

回答

1

\w+要匹配字符串中的不匹配.或一些其他字符。嘗試使用\S+代替非空格字符:

string pattern = @"address (\S+)"; 
相關問題