正则表达式在HTML标记之间获取数据(标记具有属性)

时间:2012-08-30 11:54:07

标签: html regex vb.net

首先,我知道使用Regex进行HTML解析是不好的做法,但我正在开发移动应用程序,因此大小和简单性非常重要。此外,要求非常简单。

HTML标记:<td width=100>Capture This</td>(标记可以是td / span / etc,属性相同,例如height / style / etc.)

我应该使用什么样的正则表达式来获取该部分&#34;捕获这个&#34;?

2 个答案:

答案 0 :(得分:1)

Regexpoor option for parsing HTML,特别是来自不同来源。

我建议使用专用的解析器,例如HTML Agility Pack

  

什么是Html Agility Pack(HAP)?

     

这是一个敏捷的HTML解析器,它构建一个读/写DOM并支持普通的XPATH或XSLT(你实际上不需要理解XPATH或XSLT来使用它,不用担心......)。它是一个.NET代码库,允许您解析“out of the web”HTML文件。解析器非常容忍“真实世界”格式错误的HTML。对象模型与提出System.Xml非常相似,但对于HTML文档(或流)。

源代码下载了一堆示例项目,因此您可以看到如何使用它。

答案 1 :(得分:1)

如果要匹配某个元素,该元素可以具有属性但没有子节点,请使用

/<td(?:\s[^<>]+)?>([^<>]*)<\/td>/

并获取被捕获的组。