我的正则表达式应该是这样的:https://regex101.com/r/dY9jI4/1
它应该只匹配昵称(personaname
)。
我的C#代码如下所示:
string pattern = @"personaname"":\s+""([^""]+)""";
string users = webClient.DownloadString("http://pastebin.com/raw/cDHTXXD3");
Regex regex = new Regex(pattern);
MatchCollection matches = regex.Matches(users);
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
但是在VS15我的正则表达式匹配我的整个模式,所以控制台输出看起来像:
personaname": "Tom"
personaname": "Emily"
我的模式有问题吗?我该如何解决?
答案 0 :(得分:1)
因此,虽然实际答案只是解析此JSON并获取数据,但问题出在Match中,您需要match.Groups[1].Value
来获取该未命名的组。
string pattern = @"personaname"":\s+""(?<name>[^""]+)""";
string users = webClient.DownloadString("http://pastebin.com/raw/cDHTXXD3");
Regex regex = new Regex(pattern);
MatchCollection matches = regex.Matches(users);
foreach (Match match in matches)
{
Console.WriteLine(match.Groups["name"].Value);
}