package test; public class RegularExpressions { /** * 正则表达式 */ public static void main(String[] args) { String s1 = "^\\d+$";//非负整数(正整数 + 0) System.out.println("0".matches(s1)?"是一个非负整数":"不是一个非负整数"); String s2 = "^[0-9]*[1-9][0-9]*$";//正整数 System.out.println("68".matches(s2)?"是一个正整数":"不是一个正整数"); String s3 = "^((-\\d+)|(0+))$";//非正整数(负整数 + 0) System.out.println("0".matches(s3)?"是一个非正整数":"不是一个非正整数"); String s4 = "^-[0-9]*[1-9][0-9]*$";//负整数 System.out.println("-3".matches(s4)?"是一个负整数":"不是一个负整数"); String s5 = "^-?\\d+$";//整数 System.out.println("0".matches(s5)?"是一个整数":"不是一个整数"); String s6 = "^\\d+(.\\d+)?$";//非负浮点数(正浮点数 + 0) System.out.println("0.2".matches(s6)?"是一个非负浮点数":"不是一个非负浮点数"); String s7 = "^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$";//正浮点数 System.out.println("0.2".matches(s7)?"是一个正浮点数":"不是一个正浮点数"); String s8 = "^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$";//负浮点数 System.out.println("-0.2".matches(s8)?"是一个负浮点数":"不是一个负浮点数"); }
/**
* 检测邮箱地址是否合法
* @param email
* @return true合法 false不合法
*/
public static boolean isEmail(String email){
if (null==email || "".equals(email)) return false;
// Pattern p = Pattern.compile("\\w+@(\\w+.)+[a-z]{2,3}"); //简单匹配
Pattern p = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");//复杂匹配
Matcher m = p.matcher(email);
return m.matches();
}
}