我已经尝试了很多使用我的正则表达式找出值,但不知何故它不起作用,有些人可能会帮助。
$102 $102.36 $204.36
我正在使用正则表达式
[$]\\d+[.]\\d{0,2}
但这只是取小数存在的值(对于我的情况102.36和204.36),但对于我的情况,小数是可选的,请帮助我。
答案 0 :(得分:1)
将?
与括号一起用于可选部分:
[$]\\d+([.]\\d{0,2})?
答案 1 :(得分:0)
\$([0-9]+(\.[0-9]+)?))
美元符号后跟一个或多个次数,后面跟着(一个点后跟一个数字1次或更多次)
\$([0-9]+(\.[0-9]{2})?)
相同但只匹配2dp,第一个(非第0个)匹配类将包含该数字。
第0场比赛:全部(包括$)
第一场比赛:所有数字
第二场比赛:小数点和后面的数字(如果有的话)
不捕获与Perl风格或Regex的第二场比赛:
\$([0-9]+(?:\.[0-9]{2})?)