Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式查找给定单词后的下一个单词(包含特殊字符)_C#_Regex - Fatal编程技术网

C# 正则表达式查找给定单词后的下一个单词(包含特殊字符)

C# 正则表达式查找给定单词后的下一个单词(包含特殊字符),c#,regex,C#,Regex,我在编写正则表达式以从字符串中获得所需的输出时遇到了问题 我有一个类似于string simpleInput=@“网址www.yahoo[mail].com的字符串,下面是” 我想指定“address”一词,结果是要在它后面的下一个词,即www.yahoo[mail].com“ 我已经写了下面的代码 string pattern = @"address (?<after>\w+)"; MatchCollection matches = Regex.Matches(simpleInp

我在编写正则表达式以从字符串中获得所需的输出时遇到了问题

我有一个类似于
string simpleInput=@“网址www.yahoo[mail].com的字符串,下面是”

我想指定“address”一词,结果是要在它后面的下一个词,即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 );
字符串模式=@“地址(?\w+);
MatchCollection matches=Regex.matches(simpleInput、pattern、RegexOptions.Multiline | RegexOptions.IgnoreCase);
string nextWord=string.Empty;
foreach(匹配中的匹配)
{
nextWord=match.Groups[”在“].ToString()之后;
}
Console.WriteLine(“单词是:+nextWord”);
这使我的输出为: 字是:www

如我所料,输出将是www.yahoo[mail].com

有人能帮忙吗? 我尝试使用\D+,它提供了整个字符串。。直到字符串的末尾,所以也会给出额外的文本,如“和下面的是”也会出现在结果中


其中,正如我所希望的那样,“www.yahoo[mail].com”一词与字符串中的其他字符不匹配。请尝试改用
\S+
,这表示非空格字符:

string pattern = @"address (\S+)";