string input = customSearchResult;
string pattern = @"(?<=link)";
MatchCollection linkMatches = Regex.Matches(input, pattern);
foreach (Match match in linkMatches) {
return ResultOutcome += linkMatches.ToString();
}
return ResultOutcome += "Fail";
我有这个代码光圈。 我想显示我的json输出中的链接。但我的输出总是:
System.Text.RegularExpressions.MatchCollection
我做错了什么? 先感谢您。 问候,瓦莱里亚。
答案 0 :(得分:1)
您的代码存在两个问题:
foreach
循环返回第一个匹配,跳过其余匹配,foreach
循环调用ToString
对象上的MatchCollection
。您可以在没有循环的情况下连接匹配项,如下所示:
if (linkMatches.Count != 0) {
return ResultOutcome + string.Join("", linkMatches);
} else {
return ResultOutcome + "Fail";
}
当然,您还需要修复正则表达式,以便在后视锚之后至少匹配某些内容。