日期:2014-05-19 浏览次数:21267 次
public class Hello {
public static void main(String[] args) {
String btxmsPtn = "[\\w,]+";
String str = "2010410000001,2011410600004,2011410600004a2011410600004";
if (str != null && !"".equals(str)) {// 如果不空验证,如果为空直接通过
System.out.println("111");
System.out.println(str.matches(btxmsPtn));
System.out.println("222");
} else {
System.out.println("没验证");
}
}
}
------解决方案--------------------
我觉得应该是你的正则有问题,估计是逻辑嵌套出来问题吧。
(\\d+,?)+
\\d+指多个数字,而,?表明0/1个,其实就表明,号是可有可无的,那么你的\\d增加个+号就无意义了,
所以何不(\\d,?)+这样。如果你的数字个数是能确实定的,那么
(\\d{x,x},?)+这样。