2

以下の文字列から116.8381.16を取得したい。\dを試しましたが、 up2dn2から 2 も選択されます。どうすればこれを無視できますか。

<td align="right">
    116.83<span class="up2"></span><br>81.16<span class="dn2"></span>
</td>
4

2 に答える 2

5
\b[\d.]+\b

\b単語と単語以外の文字の境界に一致しますが、隣接する文字は一致に含まれません。文字と数字はどちらも単語の文字なので、 と の間pでは一致しない2ので、up2一致しません。しかし>は単語以外の文字であるため、 と の間で一致する>ため8、正規表現は と一致し81.16ます。

于 2013-04-06T07:02:53.300 に答える
1

次のようなことを試してください:

[>\s]+([\d\.]+)[<\s]+

ただし、最初のレベルの一致から先頭>と空白、および末尾と空白を必ず削除するか、2 番目のレベルの一致のみを取得してください。<

于 2013-04-06T06:53:28.193 に答える