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+)";