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



我在编写 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.yahoo[mail].com

谁能帮忙?我尝试使用\D +,这给了我整个字符串。直到字符串的末尾,所以给出额外的文本,如"和以下是"也会出现结果。

我只想要一个单词"www.yahoo[mail].com

>w+.或要匹配的字符串中的其他一些字符不匹配。尝试改用S+,这意味着非空格字符:

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

最新更新