首先,我知道使用正则表达式进行 HTML 解析是不好的做法,但我正在开发一个移动应用程序,所以大小和简单性很重要。此外,要求非常简单。
HTML 标签:(<td width=100>Capture This</td>
标签可以是 td/span/etc,属性也一样,例如 height/style/etc。)
我应该使用什么正则表达式来获取“捕获这个”部分?
Regex
是解析 HTML 的糟糕选择,尤其是来自不同来源的解析。
我建议使用专门构建的解析器,例如HTML Agility Pack。
什么是 Html Agility Pack (HAP)?
这是一个敏捷的 HTML 解析器,它构建一个读/写 DOM 并支持普通的 XPATH 或 XSLT(实际上你不必了解 XPATH 或 XSLT 就可以使用它,不用担心......)。它是一个 .NET 代码库,允许您解析“网络之外”的 HTML 文件。解析器对“真实世界”格式错误的 HTML 非常宽容。对象模型与 System.Xml 的提议非常相似,但用于 HTML 文档(或流)。
源代码下载附带了一堆示例项目,因此您可以了解如何使用它。
如果要匹配可以具有属性但没有子节点的某个元素,请使用
/<td(?:\s[^<>]+)?>([^<>]*)<\/td>/
并获得捕获的组。