【发布时间】:2011-10-19 06:09:36
【问题描述】:
我的问题是从货币列表中提取数字。
我的测试数据会是这样的
$100.00
AUD 2012.00
Rs. 234.0 ASD
133 USD
Another thing 1233S.E122
Blah Blah 1.23
SG$ 013.3
23.03 Something
Something T1233S.122S Else
Whatever 2
而我想出的正则表达式是
(\d+)\.?(\d+)?
基本上,一个数字后跟一个可选的点和另一个可选的数字。
所以while this works fine,它的工作原理比我想要的要多一点。例如它匹配
1233S.E122 中的 1233 和 122 与 T1233S.122S 相同
我了解因为我使用 全局标志 运行它,所以所有数字都匹配。
如何使它不匹配在开头、中间或结尾包含非数字的那些?
由于我是 RegEx 的初学者,请您简要解释一下您的答案。
【问题讨论】: