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匹配单词和非单词字符之间的边界,但不包括匹配中的相邻字符。由于字母和数字都是单词字符,它不会在pand之间匹配2,所以up2不匹配。But>是一个非单词字符,因此它在>and之间匹配8,因此正则表达式匹配81.16

于 2013-04-06T07:02:53.300 回答
1

尝试这样的事情:

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

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

于 2013-04-06T06:53:28.193 回答