package _6_4_正则表达式; public class _6_4_Example_1 { public static void main(String[] args) { // TODO 自动生成的方法存根 //判断字符串是否合法 String s1="Mrkj007"; String s2="mrkj007"; boolean bn1=s1.matches("\\p{Upper}\\p{Lower}\\p{Lower}\\p{Lower}\\d\\d\\d"); boolean bn2=s2.matches("\\P{Upper}\\P{Lower}\\P{Lower}\\P{Lower}\\d\\d\\d"); System.out.println("s1是合法数据吗? "+bn1); System.out.println("s2是合法数据吗?"+bn2); //正则表达式的限定符 String regex="\\w{0,}\\@\\w{0,}\\.{1}\\w{0,}"; String str1="aaa@"; String str2="aaaa"; String str3="aaaaa@111.com"; if(str1.matches(regex)){ System.out.println(str1+"是一个Email地址格式"); } if(str2.matches(regex)){ System.out.println(str2+"是一个Email地址格式"); } if(str3.matches(regex)){ System.out.println(str3+"是一个Email地址格式"); } else{ System.out.println("都不是Email地址格式"); } //方括号中元字符的含义 String telephone1="11024588795"; String telephone2="15044268138"; System.out.println(check(telephone1)); System.out.println(check(telephone2)); } public static String check(String handset){ String regex="1[3,5,8]\\d{9,}$";//定义正则表达式$是字符串的结尾标示符 if(handset.matches(regex)){//测试匹配结果 return handset+"\n是合法的手机号码"; } else{ return handset+"\n不是合法的手机号码"; } } }
package _6_4_正则表达式; public class _6_4_Example_2 { public static void main(String[] args) { // TODO 自动生成的方法存根 //验证IP地址的合法性 String ip="192.168.1.1"; System.out.println(check(ip)); } public static String check(String text){ if(text!=null&&!text.isEmpty()){//空格????????? String regex="(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\." +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\." +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\." +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$"; if(text.matches(regex)){ return text+"\n是一个合法的IP地址"; } else{ return text+"\n不是一个合法的IP地址"; } } return "请输入要验证的IP"; } }
package _6_4_正则表达式; import java.util.regex.Pattern; public class _6_4_Example_3 { public static void main(String[] args) { // TODO 自动生成的方法存根 //计算文章中汉字的个数 String text="今天天气蛮好的so nice 啦。"; int amount=0; for(int i=0;i<text.length();i++){ boolean matches=Pattern.matches("^[\u4E00-\u9FA5]{0,}$", ""+text.charAt(i)); if(matches){ amount++; } } System.out.println(text+"\n中有几个汉字:"+amount); } }