0

我已经尝试了很多来使用我的正则表达式找出值,但不知何故它不起作用,你们中的一些人可能会有所帮助。

    102 美元
    102.36 美元
    204.36 美元

我正在使用下面的正则表达式

    [$]\\d+[.]\\d{0,2}

但这只是获取存在小数的值(对于我的情况是 102.36 和 204.36),但对于我的情况,十进制是可选的,请帮帮我。

4

2 回答 2

1

?与括号一起用于可选部分:

[$]\\d+([.]\\d{0,2})?
于 2013-08-30T15:02:40.203 回答
0

\$([0-9]+(\.[0-9]+)?))

美元符号后跟数字一次或多次可选地后跟(点后跟数字 1 次或多次)

\$([0-9]+(\.[0-9]{2})?)

相同但只会匹配 2dp,第一个(不是第 0 个)匹配类将包含数字。

第0场比赛:全部(包括$)

第一场比赛:所有号码

第二场比赛:小数点和后面的数字(如果存在)

不使用 Perl 风格或正则表达式捕获第二场比赛:

\$([0-9]+(?:\.[0-9]{2})?)

于 2013-08-30T15:02:41.803 回答