欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# 通过正则平衡组匹配scrip标签中的json数据

程序员文章站 2022-05-13 22:53:21
前段在HTML页面中抓数据时碰到的一些问题,有些数据直接隐藏在script标签中了。于是想到了平衡组,分享下。 先通过HTML Agility Pack (非常强大的HTML解析工具)得到具体的HTML内容,通过具体的路径匹配所有的script标签,然后获取你想要的某个script内容,如下图: 开 ......

前段在html页面中抓数据时碰到的一些问题,有些数据直接隐藏在script标签中了。于是想到了平衡组,分享下。

 

先通过html agility pack (非常强大的html解析工具)得到具体的html内容,通过具体的路径匹配所有的script标签,然后获取你想要的某个script内容,如下图:

C# 通过正则平衡组匹配scrip标签中的json数据

 

开始通过平衡组匹配:

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直接遍历即可。