正则表达式只从字符串中获取数值

时间:2013-04-06 06:42:34

标签: regex vb.net

我想从下面的字符串中获得 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>

2 个答案:

答案 0 :(得分:4)

\b[\d.]+\b

\b匹配单词和非单词字符之间的边界,但不包括匹配中的相邻字符。由于字母和数字都是单词字符,因此p2之间不匹配,因此up2不匹配。但>是一个非单词字符,因此它在>8之间匹配,因此正则表达式匹配81.16

答案 1 :(得分:1)

尝试这样的事情:

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

但请务必从第一级匹配中删除前导>和空格以及尾随<和空格,或仅使用第二级匹配。