-1

正規表現について助けが必要です。(C# を使用)

html-sourcecode で、私はこのようなものを得ました。

[...]
<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 を解析して stringarray にする必要があります。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 に正規表現を使用しないでください。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 の解析に正規表現を使用しないでください (多くの参照の 1 つ: link )

私がお勧めする HtmlAgilityPack という名前の優れた .NET ライブラリが存在します。

于 2012-07-26T12:55:12.293 に答える