我遇到编写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 );
这给了我输出: Word是:www
我期望输出为www.yahoo [mail] .com
有人可以帮忙吗? 我尝试用\ D +,它给了我整个字符串..直到字符串的结尾,所以给出了额外的文字,如“AND Follow is the”也会出现在结果中。
我只想要单词“www.yahoo [mail] .com”
答案 0 :(得分:1)
\w+
与您要匹配的字符串中的.
或其他字符不匹配。请尝试使用\S+
代替非空格字符:
string pattern = @"address (\S+)";