我们需要一个正则表达式,用来保证用户输入正确,
正则表达式是 "([-]|([-]?[\\d]+[.]?[\\d]*[~]?[-]?[\\d]*[.]?[\\d]*)[,]?)+"
用来匹配数字、负号、波浪线、小数点、逗号,
代码如下:public class TestReg
{
public static void main(String[] args)
{
/**
* 仅匹配数字、负号、波浪线、小数点、逗号
*/
final String MATCHING_MULTI_REG = "([-]|([-]?[\\d]+[.]?[\\d]*[~]?[-]?[\\d]*[.]?[\\d]*)[,]?)+";
String proposedValue = "0.0-0.0,0.0-4.3125,4.3125-4.3125\n,4.3125-8.625"; //注意这里中间有换行。
boolean matchs = proposedValue.matches(MATCHING_MULTI_REG); //运行到这里就挂了,CPU一直100%。
}
}
正则表达式是 "([-]|([-]?[\\d]+[.]?[\\d]*[~]?[-]?[\\d]*[.]?[\\d]*)[,]?)+"
用来匹配数字、负号、波浪线、小数点、逗号,
代码如下:public class TestReg
{
public static void main(String[] args)
{
/**
* 仅匹配数字、负号、波浪线、小数点、逗号
*/
final String MATCHING_MULTI_REG = "([-]|([-]?[\\d]+[.]?[\\d]*[~]?[-]?[\\d]*[.]?[\\d]*)[,]?)+";
String proposedValue = "0.0-0.0,0.0-4.3125,4.3125-4.3125\n,4.3125-8.625"; //注意这里中间有换行。
boolean matchs = proposedValue.matches(MATCHING_MULTI_REG); //运行到这里就挂了,CPU一直100%。
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货