import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param str string字符串 * @return bool布尔型 */ public boolean isNumeric (String str) { str = str.trim(); String patterStr = "^[+-]?\\d+(\\.\\d*)?([eE]{1}[+-]?\\d+)?"; //两个正则的唯一区别是下面正则代表“.2”这类以点开始的数,点前面可以没有数字 String patterStr2 = "^[+-]?\\.\\d+([eE]{1}[+-]?\\d+)?"; //一条正则的写法 //String patterStr = "[+-]?(\\d+|\\d+\\.\\d*|\\.\\d+)([eE][+-]?\\d+)?"; return Pattern.matches(patterStr, str) || Pattern.matches(patterStr2, str); } }