-1

我需要正则表达式的帮助。(使用 C#)

在 html 源代码中,我得到了类似的东西。

[...]
<TR class=tblDataGreyNH>
<TD style="TEXT-ALIGN: right; FONT-WEIGHT: bold" class=tblHeader>Total Time </TD>
<TD>07:47 </TD>
<TD>04:48 </TD>
<TD>00:00 </TD>
<TD>00:00 </TD>
<TD>07:42 </TD>
<TD>00:00 </TD>
<TD>00:00 </TD></TR>
[..]
<TR class=tblDataGreyNH nowrap>
<TD>Total </TD>
<TD>20:17 </TD></TR>
<TR style="FONT-WEIGHT: bold" class=tblDataWhiteNH nowrap>
<TD>Total Time </TD>
<TD width=75>20:17 </TD></TR></TBODY></TABLE></TD>
<TD colSpan=3>
...

类名始终相同。我需要将所有 TD 解析成一个字符串数组。tblDataGreyNH 是重要类。

这是整张桌子,里面有 td。(如果你需要一些)

<table class="tblList">
<form action="/interface/timesheet/ViewUserTimeSheet.php" method="get" name="timesheet"></form>
<tbody>
<tr>
<tr class="tblHeader">
<tr class="tblHeader">
<tr class="tblDataWhiteNH">
<tr class="tblDataWhiteNH">
<tr class="tblHeader">
<tr class="tblDataGreyNH">
<td class="tblHeader" style="font-weight: bold; text-align: right"> Total Time </td>
<td> 07:47 </td>
<td> 04:48 </td>
<td> 00:00 </td>
<td> 00:00 </td>
<td> 07:42 </td>
<td> 00:00 </td>
<td> 00:00 </td>
</tr>
<tr class="tblDataWhiteNH">
<tr class="tblHeader">
<tr valign="top">
</tbody>
</table>

我希望有人可以帮助我解决这个问题。正则表达式对我来说似乎无法理解。我无法掌握 ReGeX 的基础知识!?:/

4

2 回答 2

3

不要对 HTML 使用 Regex,我建议查看HtmlAgilityPack

很简单:

var doc = new HtmlDocument();
doc.LoadHtml("...your sample html...");

// all <td> tags in the document
foreach (HtmlNode td in doc.DocumentNode.SelectNodes("//td")) 
{
     Console.WriteLine(td.InnerText);
}
于 2012-07-26T12:54:50.003 回答
0

您不应该使用正则表达式来解析 HTML(许多参考之一:链接

我会推荐一个名为 HtmlAgilityPack 的很棒的 .NET 库。

于 2012-07-26T12:55:12.293 回答