我们要解析一个HTML文档时可利用正则表达式取得标签内容
例子:
以从字符串中取出所有A标签的 id号和内容为例:
<a id="1" target="_blank">aaaaaaaaaa</a>
正则表达式:
<a[^<]*id[^<]*=[^<]*"(?<ID>[^<]*)"[^<]*target[^<]*=[^<]*"[^<]*_blank[^<]*" [^<]*>(?<content>[^<]*)</a>
正则分解:
[^<]* 是一个很有用的组合,能定位到下一个查询关键字
(?<ID>[^<]*) 用于取得一个或者多个值直到遇到下一个关键字
<ID> 类似一个正则的变量,给用()号取得的内容进行标识,以便于程序的调用
C#调用的例子:
string strRegex=@"<a[^<]*id[^<]*=[^<]*"(?<ID>[^<]*)"[^<]*target[^<]*=[^<]*"[^<]*_blank[^<]*" [^<]*>(?<CONTENT>[^<]*)</a>";
string strSource="<a id=\"1\" target=\"_blank\">aaaaaaaaaa</a>"
System.Text.RegularExpressions.Regex r;
System.Text.RegularExpressions.MatchCollection m;
mc= new System.Text.RegularExpressions.Regex(strRegex, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
ro = mc.Matches(strSource);
if (ro.Count >= 0)
{
for (int i = 0; i < m.Count; i++)
{
//取出ID和内容
string id = ro[i].Groups["ID"].Value;
string topic = ro[i].Groups["CONTENT"].Value;
}
}
利用正则表达式取得HTML标签内容
2020-07-16 16:05正则之家 正则表达式
我们要解析一个HTML文档时可利用正则表达式取得标签内容 ,以从字符串中取出所有A标签的 id号和内容为例
延伸 · 阅读
- 2022-03-10Python全栈之正则表达式
- 2022-03-06CentOS中的正则表达式
- 2022-03-06详解Android过滤emoji表情正则表达式
- 2022-03-05linux系统用户管理与grep正则表达式示例教程
- 2022-03-03C++ 正则表达式的应用详解
- 2022-03-03C# 中使用正则表达式匹配字符的含义
- 正则表达式
js通过正则匹配没有内容的空标签
这篇文章主要介绍了js通过正则匹配没有内容的空标签,需要的朋友可以参考下...
- 正则表达式
JS正则表达式验证数字(非常全)
正则表达式,又称规则表达式,在项目中经常会用到正则表达式,今天小编抽空给大家分享js正则表达式验证数字的方法,感兴趣的朋友参考下吧...
- 正则表达式
正则表达式概述 什么是正则表达式
正则表达式就是用某种模式去匹配一类字符串的公式,主要用来描述字符串匹配的工具...
- 正则表达式
JavaScript 正则表达式 验证整数、小数、实数、有效位小数最简单
JavaScript 正则表达式 验证整数、小数、实数、有效位小数最简单,输入完按回车后即可验证!(自认为最简单!)...
- 正则表达式
常用正则表达式语法例句
本文主要分享一些常用正则表达式语法例句,具有一定的参考价值,有需要的朋友可以了解下...
- 正则表达式
asp去除html标记与空格的正则
用asp实现的去除内容的html标记和空格的实现代码,正在学习正则表达式的朋友可以参考下...
- 正则表达式
解决preg_match匹配过多字符长度的限制的思路分析
今天在写采集程序的时候,使用到了preg_match,但是有几个页面始终采集不下来。反复看了N遍的正则,没有发现有问题。于是开始怀疑preg_match是否对匹配的...
- 正则表达式
正则表达式re.sub替换不完整的问题及完整解决方案
re.sub是个正则表达式方面的函数,用来实现通过正则表达式,实现比普通字符串的replace更加强大的替换功能。这篇文章主要介绍了正则表达式re.sub替换不完...