0

私は本当にいくつかの助けを使うことができました。次の2行があります。

<TD noWrap>Data: <B><SPAN class="TableBody clsBold">4</SPAN></B></TD>
<TD noWrap>Format: <B><SPAN class="TableBody clsBold">9</SPAN>/<SPAN class=TableBody> </SPAN></B></TD>

タグ間のテキストを取得する必要があります (それぞれ 4 と 9)

次の正規表現ステートメントを使用しています。

(\s)*(<B>)*<(?<SPAN>\w*)(?:.*)>(?:.*)</\k<SPAN>>

これは、次のように最初の行でうまく機能します。

Data: (\s)*(<B>)*<(?<SPAN>\w*)(?:.*)>(?:.*)</\k<SPAN>>

しかし、動作しません

Format: (\s)*(<B>)*<(?<SPAN>\w*)(?:.*)>(?:.*)</\k<SPAN>>

必要なセクションの後に SPAN を取得するため、グループ 4 で 9 を取得できません。

接頭辞が異なる同じ正規表現行を使用して必要なものを取得するにはどうすればよいですか。

4

1 に答える 1

0

正規表現で探しているものを正確に指定します。そうは言っても、次のようなもので十分です。

<TD noWrap>([A-Za-z]+:)\s*<B><SPAN class="TableBody clsBold">(\d+)</SPAN>

2 つのキャプチャ グループしか使用しないため、 as matches を取得する必要があります("Data", "4")("Format", "9")

于 2012-06-02T23:28:20.253 に答える