c# html正则,c# 使用正则解析html
1 #region 解析HTML
2 ///
3 ///获取网页标签内容4 ///
5 public static string[] RegexHtmlToFormat(string as_Html, stringtags)6 {7 List list = new List();8 Regex regex = new Regex("]*?>[\\s\\S]*?", RegexOptions.IgnoreCase |RegexOptions.Multiline);9 if(regex.IsMatch(as_Html))10 {11 MatchCollection matchCollection =regex.Matches(as_Html);12 foreach (Match match inmatchCollection)13 {14 list.Add(match.Value);//获取到的
15 }16 }17 returnlist.ToArray();18 }19 ///
20 ///取得HTML中所有图片的 URL。21 ///
22 /// HTML代码
23 /// 图片的URL列表
24 public static string[] GetHtmlImageUrlList(stringsHtmlText)25 {26 //定义正则表达式用来匹配 img 标签
27 Regex regImg = new Regex(@"]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""‘]?[\s\t\r\n]*(?[^\s\t\r\n""‘<>]*)[^<>]*?/?[\s\t\r\n]*>", RegexOptions.IgnoreCase);28
29 //搜索匹配的字符串
30 MatchCollection matches =regImg.Matches(sHtmlText);31 int i = 0;32 string[] sUrlList = new string[matches.Count];33
34 //取得匹配项列表
35 foreach (Match match inmatches)36 sUrlList[i++] = match.Groups["imgUrl"].Value;37 returnsUrlList;38 }39 ///
40 ///获取页面内所有漫画图片地址41 ///
42 public static string[] RegexHtmlDiv(string as_Html, stringclassName)43 {44 List list = new List();45 Regex regex = new Regex("
", RegexOptions.IgnoreCase |RegexOptions.Multiline);46 if(regex.IsMatch(as_Html))47 {48 MatchCollection matchCollection =regex.Matches(as_Html);49 foreach (Match match inmatchCollection)50 {51 string ls_rc =match.Value;52 list.Add(ls_rc);//获取到的
53 }54 }55 returnlist.ToArray();56 }57
58 ///
59 ///解析HTML60 /// 示例代码
61 ///
62 public static string RegexHTMLList(stringas_Html)63 {64 as_Html = as_Html.Replace("\t", "");65 as_Html = as_Html.Replace(" ", "");66 string ls_rc = "";67 Regex regex = new Regex("
(?.*?)", RegexOptions.IgnoreCase |RegexOptions.Multiline);68 if(regex.IsMatch(as_Html))69 {70 MatchCollection matchCollection =regex.Matches(as_Html);71 foreach (Match match inmatchCollection)72 {73 ls_rc += match.Value;//获取到的
74 }75 }76 returnls_rc;77 }78
79 ///
80 ///获取字符中指定标签的值81 ///
82 /// 字符串
83 /// 标签
84 /// 属性名
85 /// 属性
86 public static string GetTitleContent(string str, string title, stringattrib)87 {88 string tmpStr = string.Format("]*?{1}=([‘\"\"]?)(?[^‘\"\"\\s>]+)\\1[^>]*>", title, attrib); //获取之间内容
89 Match TitleMatch =Regex.Match(str, tmpStr, RegexOptions.IgnoreCase);90 string result = TitleMatch.Groups["url"].Value;91 returnresult;92 }93 ///
94 ///解析控件的属性返回键值对95 ///
96 ///
97 ///
98 public static System.Collections.Hashtable getAttrs(stringHtmlElement)99 {100 System.Collections.Hashtable ht = newSystem.Collections.Hashtable();101 MatchCollection mc = Regex.Matches(HtmlElement, "(?[\\S^=]+)\\s*=\\s*\"(?[^\"\"]+)\"|(?[\\S^=]+)\\s*=\\s*‘(?[^‘‘]+)‘|(?\\w+)=(?[^\"])(?=[\\s])");102 foreach (Match m inmc)103 {104 ht[m.Groups[1].Value] = m.Groups[2].Value;105 }106 returnht;107 }108 #endregion
c# html正则,c# 使用正则解析html相关推荐
- php正则匹配sg-nc-wap_php正则匹配
概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配.替换.截取匹配的字符串.常用的语言基本上都有正则表达式,如JavaScript.java等.其实,只有了解一种语言的正 ...
- awk,sed,grep运用正则与扩展正则
1.正则与扩展正则的概述 2.示例 grep 过滤工具 ---格式:grep [选项] "正则表达式" 文件 egrep 过滤工具 ---格式:egrep [选项] "扩 ...
- 【编译原理】正则文法与正则式的等价性
正则文法到正规式的转换规则: 文法表达式 正则式 规则1 A->xB B->y A=xy 规则2 A->xA|y A=x*y 规则3 A->x A->y A=x|y 正则 ...
- L1正则和L2正则的比较分析
参考文献 1.L1正则和L2正则的比较分析详解 2.比较全面的L1和L2正则化的解释 3.正则化项L1和L2的区别 4.L1 相比于 L2 为什么容易获得稀疏解? 5.正则化L1和L2的区别 6.LR ...
- 融合一致性正则与流形正则的半监督深度学习算法
融合一致性正则与流形正则的半监督深度学习算法 王杰1,2, 张松岩1,2, 梁吉业1,2 1山西大学计算机与信息技术学院 2计算智能与中文信息处理教育部重点实验室 摘要:半监督学习已被广泛应用于大数据 ...
- php正则循环,PHP正则解析多重循环模板示例
本文实例讲述了PHP正则解析多重循环模板.分享给大家供大家参考,具体如下: $str = "客户您好,为您推荐以下项目:(crm{项目2:项目名称} (crm{项目3:项目名称}crm) c ...
- php正则 与 js正则
PHP中的正则表达式函数 在PHP中有两套正则表达式函数库.一套是由PCRE(Perl Compatible Regular Expression)库提供的.PCRE库使用和Perl相同的语法规则实现 ...
- php正则匹配是否为url地址,php正则匹配网址-正则php-php正则匹配url地址
php正则表达式 正则匹配网址是否带http:// https:// if(preg_match("/\x20*https?\:\/\/.*/i","",$m) ...
- 【转】.NET正则基础之——正则委托
源地址 1 概述 一般的正则替换,只能对匹配的子串做简单的处理,且只能是做string类型的处理之后,作为替换文本替换匹配子串,可以实现的功能比较有限..NET的Replace()方法中 ...
- 去除a链接+java正则_JavaScript实现正则去除a标签并保留内容的方法【测试可用】...
本文实例讲述了JavaScript实现正则去除a标签并保留内容的方法.分享给大家供大家参考,具体如下: 一.问题: 有如下HTML代码,要求用正则去除a标签,只留下内容 //www.jb51.net ...
最新文章
- php thrift 报错,thrift安装遇到的问题以及解决方法(必看篇)
- ​rsync应用拓展多模块同步13
- linux mariadb 乱码,MariaDB插入中文数据乱码解决过程
- 推荐开源代码2004/12/17
- 安装hdfs集群的具体步骤
- 解决ORA-01578错误一例
- 面试考知识点,吾亦很难通过
- 阿里巴巴达摩院发布2019十大科技趋势:语音AI在特定领域通过图灵测试...
- android 音量调节不起作用,Android音量控制
- 中科院各大计算所详细介绍
- 电脑显示器连接主机 没反应 no signal!!
- 满分作文生成器:生活在代码上
- 你真以为贪吃蛇是个简单的游戏?
- 开源自主导航小车MickX4(三)底盘ROS节点
- 微心情:蝴蝶为花碎,花却随风飞
- 如何给老婆解释什么是微服务?
- 开发一款cad插件需要哪些步骤
- FinClip黑板报:3分钟了解Vue开发小程序的技术原理
- 如何使用macOS Big Sur还原iPhone或iPad?
- netty自定义channel id
热门文章
- 【语音去噪】基于matlab GUI软阈值+硬阈值+软硬折中阈值语音去噪【含Matlab源码 1810期】
- 【优化算法】阿基米德优化算法(AOA)【含Matlab源码 1447期】
- 【医学图像分割】基于matlab磁共振成像 (MRI) 数值模拟平台【含Matlab源码 826期】
- 【MDVRP】基于matlab水滴算法求解多仓库车辆路径规划问题【含Matlab源码 1310期】
- 千兆网卡为什么慢_宽带300M,光猫是千兆的,电脑网卡和无线路由器都是千兆的。但是速度仍是100M。这是为什么?...
- 适应图像_目标检测的渐进域自适应,优于最新SOTA方法
- 交通部 城轨交通运营管理规定_韩国又松大学热门专业-轨道交通运营与管理专业介绍...
- flutter怎么手动刷新_Flutter 怎样更新?怎样升级? - Flutter - Angular 教程网
- html含有一级子元素,html – 根据父级内的计数设置子元素
- linux 启动 pycharm程序的命令(pycharm已安装好)