以下の文字列から116.83と81.16を取得したい。\dを試しましたが、 up2とdn2から 2 も選択されます。どうすればこれを無視できますか。
<td align="right">
116.83<span class="up2"></span><br>81.16<span class="dn2"></span>
</td>
\b[\d.]+\b
\b
単語と単語以外の文字の境界に一致しますが、隣接する文字は一致に含まれません。文字と数字はどちらも単語の文字なので、 と の間p
では一致しない2
ので、up2
一致しません。しかし>
は単語以外の文字であるため、 と の間で一致する>
ため8
、正規表現は と一致し81.16
ます。
次のようなことを試してください:
[>\s]+([\d\.]+)[<\s]+
ただし、最初のレベルの一致から先頭>
と空白、および末尾と空白を必ず削除するか、2 番目のレベルの一致のみを取得してください。<