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("

(.|\n)*?

", 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相关推荐

  1. php正则匹配sg-nc-wap_php正则匹配

    概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配.替换.截取匹配的字符串.常用的语言基本上都有正则表达式,如JavaScript.java等.其实,只有了解一种语言的正 ...

  2. awk,sed,grep运用正则与扩展正则

    1.正则与扩展正则的概述 2.示例 grep 过滤工具 ---格式:grep [选项] "正则表达式" 文件 egrep 过滤工具 ---格式:egrep [选项] "扩 ...

  3. 【编译原理】正则文法与正则式的等价性

    正则文法到正规式的转换规则: 文法表达式 正则式 规则1 A->xB B->y A=xy 规则2 A->xA|y A=x*y 规则3 A->x A->y A=x|y 正则 ...

  4. L1正则和L2正则的比较分析

    参考文献 1.L1正则和L2正则的比较分析详解 2.比较全面的L1和L2正则化的解释 3.正则化项L1和L2的区别 4.L1 相比于 L2 为什么容易获得稀疏解? 5.正则化L1和L2的区别 6.LR ...

  5. 融合一致性正则与流形正则的半监督深度学习算法

    融合一致性正则与流形正则的半监督深度学习算法 王杰1,2, 张松岩1,2, 梁吉业1,2 1山西大学计算机与信息技术学院 2计算智能与中文信息处理教育部重点实验室 摘要:半监督学习已被广泛应用于大数据 ...

  6. php正则循环,PHP正则解析多重循环模板示例

    本文实例讲述了PHP正则解析多重循环模板.分享给大家供大家参考,具体如下: $str = "客户您好,为您推荐以下项目:(crm{项目2:项目名称} (crm{项目3:项目名称}crm) c ...

  7. php正则 与 js正则

    PHP中的正则表达式函数 在PHP中有两套正则表达式函数库.一套是由PCRE(Perl Compatible Regular Expression)库提供的.PCRE库使用和Perl相同的语法规则实现 ...

  8. php正则匹配是否为url地址,php正则匹配网址-正则php-php正则匹配url地址

    php正则表达式 正则匹配网址是否带http:// https:// if(preg_match("/\x20*https?\:\/\/.*/i","",$m) ...

  9. 【转】.NET正则基础之——正则委托

    源地址 1        概述 一般的正则替换,只能对匹配的子串做简单的处理,且只能是做string类型的处理之后,作为替换文本替换匹配子串,可以实现的功能比较有限..NET的Replace()方法中 ...

  10. 去除a链接+java正则_JavaScript实现正则去除a标签并保留内容的方法【测试可用】...

    本文实例讲述了JavaScript实现正则去除a标签并保留内容的方法.分享给大家供大家参考,具体如下: 一.问题: 有如下HTML代码,要求用正则去除a标签,只留下内容 //www.jb51.net ...

最新文章

  1. php thrift 报错,thrift安装遇到的问题以及解决方法(必看篇)
  2. ​rsync应用拓展多模块同步13
  3. linux mariadb 乱码,MariaDB插入中文数据乱码解决过程
  4. 推荐开源代码2004/12/17
  5. 安装hdfs集群的具体步骤
  6. 解决ORA-01578错误一例
  7. 面试考知识点,吾亦很难通过
  8. 阿里巴巴达摩院发布2019十大科技趋势:语音AI在特定领域通过图灵测试...
  9. android 音量调节不起作用,Android音量控制
  10. 中科院各大计算所详细介绍
  11. 电脑显示器连接主机 没反应 no signal!!
  12. 满分作文生成器:生活在代码上
  13. 你真以为贪吃蛇是个简单的游戏?
  14. 开源自主导航小车MickX4(三)底盘ROS节点
  15. 微心情:蝴蝶为花碎,花却随风飞
  16. 如何给老婆解释什么是微服务?
  17. 开发一款cad插件需要哪些步骤
  18. FinClip黑板报:3分钟了解Vue开发小程序的技术原理
  19. 如何使用macOS Big Sur还原iPhone或iPad?
  20. netty自定义channel id

热门文章

  1. 【语音去噪】基于matlab GUI软阈值+硬阈值+软硬折中阈值语音去噪【含Matlab源码 1810期】
  2. 【优化算法】阿基米德优化算法(AOA)【含Matlab源码 1447期】
  3. 【医学图像分割】基于matlab磁共振成像 (MRI) 数值模拟平台【含Matlab源码 826期】
  4. 【MDVRP】基于matlab水滴算法求解多仓库车辆路径规划问题【含Matlab源码 1310期】
  5. 千兆网卡为什么慢_宽带300M,光猫是千兆的,电脑网卡和无线路由器都是千兆的。但是速度仍是100M。这是为什么?...
  6. 适应图像_目标检测的渐进域自适应,优于最新SOTA方法
  7. 交通部 城轨交通运营管理规定_韩国又松大学热门专业-轨道交通运营与管理专业介绍...
  8. flutter怎么手动刷新_Flutter 怎样更新?怎样升级? - Flutter - Angular 教程网
  9. html含有一级子元素,html – 根据父级内的计数设置子元素
  10. linux 启动 pycharm程序的命令(pycharm已安装好)