正则表达式引起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%。
}
}