1:取得A 标签中的内容或者 url title
<a href='javascript:open_window("http://xx/F/F987K71CHH3JEBIG788IQ2BTRSULYAIY2PFXEXGBB7Q5614QM1-05893?func=service&doc_number=007838178&line_number=0011&service_type=TAG");'>岛上书店&nbsp;[专著]&nbsp;=&nbsp;The storied life of A.J.Fikry</a>

(?is)<a\s+href=(['"])(?:(?![<>]|\1).)+\1>(?<text>(?:(?!</?a).)+)
(?is)(?<=<a\s+href=[^>]+>)((?!</?a).)+

<a\s*[^>]*>([\s\S]+?)</a>

@"(?is)<a[^>]*?id=""rptData_lnkQuerySub_0""[^>]*?>([\s\S].*?)</a>"

//替换掉A标签
var billno = Regex.Replace(item.WorldexSinotrans[1], @"<a(?:(?!href=).)*href=(['""]?)(?<url>[^""'\s>]*)\1[^>]*>(?<text>(?:(?!</a>).)*)</a>", "", RegexOptions.None);

var repA = Regex.Matches(repImg, @"<A\s*[^>]*>([\s\S]+?)</A>")
    .Cast<Match>().Select(mx => mx.Groups[0].Value.Trim().TrimStart().TrimEnd()).ToList();//Groups根据情况取0/1
2:替换 html 中有img情况
<img alt="Link" src="http://xxx/exlibris/aleph/u20_1/alephe/www_f_chi/icon/f-separator.gif" border="0">
var repImg = Regex.Replace(value[0].ToString(), @"<img\s+[^>]*\s*src\s*=\s*([']?)(?<url>\S+)'?[^>]*>", "", RegexOptions.None);

3:取得form 中的url  action 等值
<form method=get name=form1 action="http://xxx/F/7I82M4CLHLI12T96I5C26VMVRFAGUTHS2181BYCG6TLYDRPHHR-17822" οnsubmit="return presearch(this);">
var resultAction = Regex.Matches(GetReturnHtml(Url), @"<form method=get name=form1\s*[^>]*action=""([\s\S]+?)""[^>]*?>") //@"<form method=get name=form1\s*[^>]*action=""([\s\S]+?)"">.*</form>").Cast<Match>().Select(mx => mx.Groups[1].Value.TrimStart().TrimEnd()).ToList();
4:直接获取table下面所有的tr td
<table id="td" width="90%" style="margin:0 auto;" border="0" cellspacing="2">
<tr>
<td style="background:#fff;" class=td1 align=left >
     20160530d2016&nbsp;em&nbsp;y0chiy50&nbsp;ea
  </td> </tr></table>
var tableid = @"id=""td""";

Regex reg = new Regex("(?is)(?<=<table[^>]*?" + tableid + "[^>]*?>(?:(?!</?table).)*)(?is)<tr[^>]*?>(?:\\s*<td[^>]*?class=td1[^>]*?>(.*?)</td>)*\\s*</tr>");

@"(?is)<table[^>]*?" + regexTableParm + "[^>]*?>([\\s\\S].*?)</table>"

5:直接获取tr 里面的内容

var compare = Regex.Match(mTable.Value, "(?is)<tr " + classParm + ">(?:\\s*<td[^>]*>(.*?)</td>)*\\s*((?!</tr>).)*").Groups[0].Value.Trim();//.Groups[1].Value.Trim();

6:直接获取td 里面的内容
<td style="background:#fff;" class=td1 align=left >
     20160530d2016&nbsp;em&nbsp;y0chiy50&nbsp;ea
  </td>

var value = Regex.Matches(m.Value, @"(?<=<td[^>]*?class=td1 align=left[^>]*?>)([\s\S]+?)(?=</td>)")
                         .Cast<Match>().Select(mx => mx.Groups[0].Value.Trim().TrimStart().TrimEnd()).ToList();

//(\s+scope=[^>]+)?(\s+class=[^>]+)?>)    匹配td 里面内容class
var td = Regex.Matches(m.Value, @"(?<=<td(\s+scope=[^>]+)?(\s+class=[^>]+)?>)([\s\S]+?)(?=</td>)")// @"(?<=<td>)\r\n\s+[\s\S]*?\r\n\s+(?=</td>)")

.Cast<Match>().Select(mx => mx.Groups[0].Value.Trim().TrimStart().TrimEnd()).ToList();

@"(?is)(?<=<td(\s+align=[^>]+)?>).*?(?=\s*</td)"

@"(?is)(?<=<td(\s+class=[^>]+)?>).*?(?=\s*</td)"

7:里面有font字体的

var td = Regex.Matches(m.Value, @"(?<=<font(\s+color=[^>]+)?>).*?(?=</font>)").Cast<Match>().Select(mx => mx.Groups[0].Value).ToList();

8:获取html页面中隐藏hidden

var result = Regex.Matches(response.Content.ReadAsStringAsync().Result, @"<input type=""hidden""[^>]*?.*?\/>")
                                    .Cast<Match>().Select(mx => mx.Groups[0].Value.TrimStart().TrimEnd()).ToList();

/获取 隐藏域中的 id  value
                //var reg = @"(?isn)<input((?!([<>]|id=)).)+id=""(?<id>[^""<>]+)""[^<>]*?value=""(?<value>[^<>""]*)""";
                //    var keyvalue = Regex.Match(item, reg);
                //returnHidden.Add(keyvalue.Groups[1].Value, keyvalue.Groups[2].Value);
                var key = Regex.Match(item, @"<input type=""hidden""[^>]*?[^>]+?id=""([\s\S]+?)""[^>]+>").Groups[1].Value;
                var value = Regex.Match(item, @"<input type=""hidden""[^>]*?[^>]+?value=""([\s\S]+?)""[^>]+>").Groups[1].Value;

9:获取html页面中 body里面的内容

var resultStr = Regex.Matches(DelHTML(retString), @"(?is)<body[^>]*?>([\s\S].*?)</body>")
                                            .Cast<Match>().Select(mx => mx.Groups[0].Value.TrimStart().TrimEnd()).ToList();

C# 处理html 标签一些正则表达式 整理收集相关推荐

  1. 该系列主要整理收集在使用C#开发WinForm应用文章及相关代码来源于WinForms小组...

    该系列主要整理收集在使用C#开发WinForm应用文章及相关代码, 平时看到大家主要使用C#来开发Asp.Net应用,这方面的文章也特别多,而关于WinForm的文章相对少很多,而自己对WinForm ...

  2. HTML a 标签的正则表达式

    最近研究了下,终于找到 HTML <a> 标签的正则表达式 分享下: <a[^>]*href=\s*[""']?(?<url>[^"& ...

  3. php常用标签,PHP 过滤常用标签的正则表达式

    在 php 项目中,经常要用到一些过滤标签的正则表达式,收藏一下备用: $str=preg_replace("/\s+/", " ", $str); //过滤多 ...

  4. 测试常用正则表达式整理汇总

    很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求.所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下.给自己留个底,也给大家做个参考. ...

  5. JS省市二级联动菜单,sky整理收集。

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  6. Android 学习文档整理收集

    利用闲暇时间整理了一份 Android 学习文档整理收集,希望能够对大家有所帮助,也欢迎各位帮忙补充. Android Android基础入门教程 CSDN主题Android专栏 极客头条Androi ...

  7. 3D打印机使用问题整理收集

    3D打印机使用问题整理收集 淘宝买了小树3,回来后组装了3天. 遇到的问题汇集 1,组装过程中螺丝数目不对,有些螺丝可以互换. 2,组装完成之后调平需要有很大的耐心,慢慢实验. 3,Y轴行程不足120 ...

  8. xp、2003开3389+非net创建管理用户+Shift后门+自删除脚本+提权VBS 整理收集

    xp.2003开3389+非net创建管理用户+Shift后门+自删除脚本+提权VBS 整理收集 2010年12月07日 xp.2003开3389+非net创建管理用户+Shift后门+自删除脚本 v ...

  9. 前端知识点整理收集(不定时更新~)

    知识点都是搜集各种大佬们的,如有冒犯,请告知! 目录 原型链 New关键字的执行过程 ES6--class constructor方法 类的实例对象 不存在变量提升 super 关键字 ES6--.. ...

  10. TinyMCE 富文本编辑器 ━━ 一键排版功能所需正则表达式整理及学习

    如果是公文发布,客户往往喜欢直接把word内容复制粘贴,这也导致大量的出错.最近客户的对格式的需求比较强烈,正好借机弄一弄.之前已经放了tinymce的插件及弹窗开发相关内容,今天进入一点关键内容~~ ...

最新文章

  1. ECCV2020图像分割开源论文合集
  2. python3—廖雪峰之练习(三)
  3. scalikejdbc 学习笔记(4)
  4. 怎么用git将本地代码上传到远程服务器_TortoiseGit将本地git仓库上传到远程git服务器方法...
  5. sql注入一点小心得
  6. Java 程序执行过程的内存流程图(手写稿)
  7. python求矩阵的秩_Python 实现线性代数计算器
  8. python dict遍历_Python教程:Python数据类型之字典(附学习教程)
  9. java对象的内存结构_Java对象在内存中的结构分析
  10. mysql索引和事务_MySQL事务和索引
  11. 使用YUI3创建Popup弹出层
  12. 高等代数100道题及答案解析
  13. 数学建模【开会总结】
  14. Gif表情包怎么在线制作?教你在线制作gif表情包
  15. 小米9pro计算机打不开,小米9 Pro刷机教程,线刷升级更新官方系统包
  16. 生信漫谈如何做出美美的多序列比对图
  17. 百度网盘提速法,不用插件,不用安装脚本
  18. 学习笔记_1 Matplotlib绘制散点图
  19. RabbitMQ学习笔记:springboot2 amqp集成生产者消费者
  20. K8S之ipvs负载均衡原理

热门文章

  1. springboot项目启动过程中碰到的问题
  2. MATLAB 背包问题
  3. 2023年FL Studio 21选购指南:新手小白应该选择哪个版本FL Studio?
  4. python爬虫多线程实战:爬取美桌1080p壁纸图片
  5. 2021AI中台白皮书 附下载
  6. mysql存储过程 2000工资加200_我打工 一个月工资2000元。 1800+200的全勤。老板压了1000元。刚开...
  7. 海外跨境电商独立站多语言系统源码开发
  8. SVN实例--结合Myeclipse
  9. 树莓派搭建智能家庭系统(前言)
  10. 上网隐私保护意识要觉醒