/*
网上看到一些人将两个判断结合,但是都存在一些不足,而且为了降低正则表达式的复杂,这里还是建议分开判断
比如:
字符串刚好是一个个位数的整数:1、2、3等
或是222222-2222-2222-22222这类的人造类似于UUID的字符串
*/
// 判断字符串是否为科学计数法
String str = "";
System.out.println(Pattern.compile("^[+-]?\\d+\\.?\\d*[Ee][+-]?\\d+$").matcher(str).find());
// 判断字符串是否为正负整数、正负小数
System.out.println(Pattern.compile("^[+-]?(\\d+|\\d+\\.\\d+)$").matcher(str).find());