.net REGEX-使用特定类查找td,包括嵌套表
我必须解析一段HTML。 它看起来有点像:.net REGEX-使用特定类查找td,包括嵌套表,.net,html,regex,winforms,.net,Html,Regex,Winforms,我必须解析一段HTML。 它看起来有点像: <table> <tr> <td class="blabla"> <table><tr><td><table><tr><td></td></tr></table></td></tr></table> </td> </tr>
<table>
<tr>
<td class="blabla"> <table><tr><td><table><tr><td></td></tr></table></td></tr></table>
</td>
</tr>
<tr>
<td class="blabla"> <table><tr><td></td></tr></table>
</td>
</tr>
</table>
谢谢为什么不使用css选择器?([tT][dD]\sclass=\“blablabla\”)您可能正在寻找类似于
/
的正则表达式,但我不知道在.net中如何实现这一点
然而,由于HTML格式不好,正则表达式不是解析的好选择。有更好的工具来实现这一点
如前所述,使用XPath将是使用//td[@class=“someClass”]实现这一点的一种很好的方法。这将为您提供td节点。然后,您可以获取该文件的内容并根据需要对其进行处理不要尝试用正则表达式解析HTML。您不能编写与所需内容匹配的表达式,因为HTML不是规则的 在您的语言提供的库中使用HTML/XML解析器
System.Xml
有许多有用的类,可以让您打开文件并使用XPath进行查询
您要查找的XPath表达式是
//td[@class="someClass"]
如果您需要进行extenisve html解析,我建议使用而不是正则表达式。HAP从html页面构建xml文档,因此您可以使用XPath查找特定节点。您不能仅使用正则表达式,因为它太复杂了。即使使用前瞻性匹配,正则表达式也必须动态更改,因为您必须根据在所需的
之后找到的
的数量来增加要查找的
的数量 您不清楚您希望从中返回什么不确定.net实现,但这不是我们最后所做的吗//td[@class=“someClass”]这是在一个.net win应用程序上,它解析文本。@Gidon:不要将HTML视为文本。
//td[@class="someClass"]