求表示数字的正则表达式。 包括小数,负号,都认为是true,但是小数点和负号的位置都必须正确1.1 true-1.2 true1.2- false1.1.1 false12 true1.-2 false 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static boolean isNumber(String str) { str=str.trim(); String pattern = "^[0-9]+$"; return str.matches(pattern); } 抱歉上面的有错,可以用apache commons-lang里面的NumberUtils String pattern = "^\\-?\d+\\.\\d+"; String pattern = "^\\-?\d+\\.\\d+";======这个失败! 我有个同事说,直接拿改字符窜去new BigDecimal();如果出异常,就证明他不是数字。这个方法实在是猥琐啊。 String reg="^(\\+|-)?\\d+.?\\d+$";注:\\+表示正数,即+0.5也认为正确,如果没有这种需求,换成String reg="^-?\\d+.?\\d+$"; 借用LS的思路改一下(你的那个对于"0."也会匹配,用++就好了)String reg1="^(\\+|-)?\\d+(.\\d++)?$";orString reg1="^-?\\d+(.\\d++)?$"; 不好意思,更正一下上面的刚想起来小数点 . 也是正则表达式的关键字,需要用转义符屏蔽,改成如下String reg1="^(\\+|-)?\\d+(\\.\\d++)?$";orString reg1="^-?\\d+(\\.\\d++)?$"; ^(?:\+|-)?\d+(?:\.\d+)?$ 试试这个http://community.csdn.net/Expert/topic/5496/5496539.xml?temp=2.822512E-02 import java.util.regex.*;public class a{public static void main(String[] args){String s="^-?\\d+\\.?\\d+$";Pattern p=Pattern.compile(s);Matcher m;String w;w="1.1";m=p.matcher(w);System.out.println("1.1="+m.matches());w="-1.2";m=p.matcher(w);System.out.println("-1.2="+m.matches());w="1.2-";m=p.matcher(w);System.out.println("1.2="+m.matches());w="1.1.1";m=p.matcher(w);System.out.println("1.1.1="+m.matches());w="12";m=p.matcher(w);System.out.println("12="+m.matches());w="1.-2";m=p.matcher(w);System.out.println("1.-2="+m.matches());System.gc();}} 请教分号的作用? 写一个petShop 关于finally是否执行 我发现真正理解面向对象,好难啊?有什么办法啊? java用表格做成像灰鸽子表格那样的功能! 唉怎么老是连不上SQLSERVER呢? JAVA如何重载类型转换~ java.io 能不能对一个文件进行修改操作。 在java 程序里如何調用oracle 里寫的一些函數和包? skyyoung:刚才个问题还没解决(requestFocus) JDBC与iptables的问题 使用INETADRESS扫描局域网IP和SOCKET扫描端口的问题
str=str.trim();
String pattern = "^[0-9]+$";
return str.matches(pattern);
}
可以用apache commons-lang里面的NumberUtils
new BigDecimal();如果出异常,就证明他不是数字。
这个方法实在是猥琐啊。
借用LS的思路改一下(你的那个对于"0."也会匹配,用++就好了)
String reg1="^(\\+|-)?\\d+(.\\d++)?$";
or
String reg1="^-?\\d+(.\\d++)?$";
如下String reg1="^(\\+|-)?\\d+(\\.\\d++)?$";
or
String reg1="^-?\\d+(\\.\\d++)?$";
http://community.csdn.net/Expert/topic/5496/5496539.xml?temp=2.822512E-02
public class a{public static void main(String[] args){String s="^-?\\d+\\.?\\d+$";
Pattern p=Pattern.compile(s);
Matcher m;
String w;w="1.1";
m=p.matcher(w);
System.out.println("1.1="+m.matches());w="-1.2";
m=p.matcher(w);
System.out.println("-1.2="+m.matches());w="1.2-";
m=p.matcher(w);
System.out.println("1.2="+m.matches());w="1.1.1";
m=p.matcher(w);
System.out.println("1.1.1="+m.matches());w="12";
m=p.matcher(w);
System.out.println("12="+m.matches());w="1.-2";
m=p.matcher(w);
System.out.println("1.-2="+m.matches());System.gc();
}
}