题目描述
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串”+100”,”5e2”,”-123”,”3.1416”和”-1E-16”都表示数值。 但是”12e”,”1a3.14”,”1.2.3”,”+-5”和”12e+4.3”都不是。
import java.util.regex.Pattern;
/**
* 表示数值的字符串
* @author 过路的守望
*
*/
public class NumberMatch {
/*
* 判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。
*/
String regex = "[+-]?[0-9]*(\\.[0-9]*)?([Ee][+-]?[0-9]+)?";
/**
*
* @param s
* @return
*/
public boolean match(String s){
if(s == null){
return false;
}
Pattern pattern = Pattern.compile(s);
return pattern.matcher(s).matches();
}
}