java-正则表达式
1、正则表达式学习
package cn.burce.Regex; public class RegexDemo { public static void main(String[] args) { System.out.println(checkQQ("604154942")); System.out.println(checkPhoneNO("14106432889")); System.out.println(checkMail("141@0.6432889.cn")); System.out.println(split("12-34-53-45-76")); System.out.println(split1("12 34 53 45 76")); System.out.println(split2("192.168.1.100")); System.out.println(replace("12-34-53-45-76")); System.out.println(replace_1("Hello12345World6789012")); } // 举例:校验qq号码. // 1: 要求必须是5-14位数字 // 2: 0不能开头 public static boolean checkQQ(String qq) { return qq.matches("[1-9][0-9]{4,14}"); // return qq.matches("[1-9][\\d]{4,14}");\\d数字的意思 } // 举例:校验手机号码 // 1:要求为11位数字 // 2:第1位为1,第2位为3、4、5、7、8中的一个,后面9位为0到9之间的任意数字。 public static boolean checkPhoneNO(String number) { return number.matches("[1][3-8][\\d]{9}"); } // 举例:校验合法邮箱 public static boolean checkMail(String number) { // (\\.[a-zA-Z_0-9]+)+表示带.的数字字母可以出现多次 return number.matches("^[a-zA-Z_0-9]+[@][a-zA-Z_0-9]+(\\.[a-zA-Z_0-9]+)+"); } // 举例:切割字符串 // 1:String类Split方法进行切割,切割是变成一个字符串数组 // 2:12-34-53-45-76进行切割。 public static String split(String sp) { String[] str = sp.split("-"); StringBuilder builder = new StringBuilder(); for (int i = 0; i < str.length; i++) { builder.append(str[i]); } return builder.toString(); } // 举例:切割字符串 // 1:String类Split方法进行切割(多空格) // 2:12 34 53 45 76进行切割。 public static String split1(String sp) { String[] str = sp.split(" +");// 正则表达式,按空格出现一次或多次切割 StringBuilder builder = new StringBuilder(); for (int i = 0; i < str.length; i++) { builder.append(str[i]); } return builder.toString(); } // 举例:切割字符串 // 1:String类Split方法进行切割(多空格) // 2:192.168.1.100进行切割。 public static String split2(String sp) { String[] str = sp.split("\\.");// 含义:.代表的是任何字符 // 例如:匹配规则为" . ",那么需要匹配的是一个任意字符。如果,就想使用 . 的话,使用匹配规则"\\."来实现 StringBuilder builder = new StringBuilder(); for (int i = 0; i < str.length; i++) { builder.append(str[i]); } return builder.toString(); } // 举例:替换字符串 // 1:String类Replace方法进行提换 // 2:12-34-53-45-76进行-提换。 public static String replace(String re) { String str = re.replaceAll("-", "*"); return str; } // 举例:替换字符串 // 1:String类Replace方法进行提换 // 2:Hello12345World6789012进行数字的提换。 public static String replace_1(String re) { // String str = re.replaceAll("[\\d]", "*"); String str = re.replaceAll("[\\d]+", "*");// 方括号代表一位,后面写+的话就是代表多位 return str; } }