0

我只是想得到一个句子中的数字。

它们可以是货币、常规数字、+ 和 -。

示例是:

健身房会员7个月 @每月20美元 140.00 美元

健身房会员退款$-100.00

我一直在使用这个表达式:

\$?(\d{1,3},?(\d{3},?)*\d{3}(.\d{0,2})?|\d{1,3}(.\ d{2})?)

我一直在使用这个网站来测试它。

http://rubular.com/

唯一的问题是它没有收到$-100.00,它只收到100.00

如果有更好的方法可以做到这一点,或者这是唯一的方法,我也很感兴趣。

4

1 回答 1

3

\$?-?(\d{1,3},?(\d{3},?)*\d{3}(.\d{0,2})?|\d{1,3}(.\d{2 })?)

只需在-?那里添加一个。

是否有更好的方法取决于您的要求。如果这对您来说效果很好并且可以满足您的所有需求,那么我认为没有理由使用其他东西。

于 2012-06-22T16:48:05.390 回答