RegEx模式匹配正值或负值(例如“1.2”,“ - 2.8”,“7.8”, - 22.8“)

时间:2010-05-18 10:07:52

标签: java regex

小数点分隔符是一个点,后跟最多一位数! 没有指定范围。谢谢你们!

3 个答案:

答案 0 :(得分:17)

^-?\d+(\.\d)?$

如果小数部分是可选的,则

^-?\d+\.\d$

如果需要:)

答案 1 :(得分:7)

简单:-?\d+\.\d

答案 2 :(得分:2)

在这种情况下不太可能相关,但不要忘记“。”不是通用的小数分隔符。许多欧洲国家使用“,”因此您可能更愿意从区域设置中获取正在使用的那个:

DecimalFormat df = (DecimalFormat) NumberFormat.getInstance();
String separator = df.getDecimalFormatSymbols().getDecimalSeparator();

(另见:http://java.sun.com/j2se/1.5.0/docs/api/java/text/DecimalFormatSymbols.html#getDecimalSeparator