Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net REGEX-使用特定类查找td,包括嵌套表_.net_Html_Regex_Winforms - Fatal编程技术网

.net REGEX-使用特定类查找td,包括嵌套表

.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>

我必须解析一段HTML。 它看起来有点像:

<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"]