前段在HTML页面中抓数据时碰到的一些问题,有些数据直接隐藏在script标签中了。于是想到了平衡组,分享下。
先通过HTML Agility Pack (非常强大的HTML解析工具)得到具体的HTML内容,通过具体的路径匹配所有的script标签,然后获取你想要的某个script内容,如下图:
开始通过平衡组匹配:
string pattern = @"(?isnx) \[ (?> \[(?<Open>) | \](?<-Open>) | ((?![\[\]]).)* )* (?(Open)(?!)) \]";
MatchCollection mc = Regex.Matches(content, pattern);
if (mc.Count > 0 && mc[0].Success) Console.WriteLine(mc[0].Value);
这里我只要第一个json数组,如果你想要匹配多个json直接遍历即可。
原文地址:https://www.cnblogs.com/xiongtaotao/p/9645427.html
时间: 2024-11-06 03:31:25