RegEx错误结果
本文关键字:结果 错误 RegEx | 更新日期: 2023-09-27 18:00:39
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
我做错了什么?提前谢谢。你好,瓦莱丽娅。
您的代码有两个问题:
- 您的
foreach
循环返回第一个匹配,跳过其余匹配,并且 foreach
循环调用MatchCollection
对象上的ToString
您可以在没有循环的情况下连接匹配,如下所示:
if (linkMatches.Count != 0) {
return ResultOutcome + string.Join("", linkMatches);
} else {
return ResultOutcome + "Fail";
}
当然,您还需要修复正则表达式,以便它至少与look-behind锚点后的内容相匹配。