java 14-2 正则表达式的案例
1、判断功能
String类的public boolean matches(String regex)
需求:
判断手机号码是否满足要求?
分析:
A:键盘录入手机号码
B:定义手机号码的规则
13688886868
13866668888
13456789012
18638833883
C:调用功能,判断即可
D:输出结果
1 import java.util.Scanner; 2 public class RegexDemo { 3 public static void main(String[] args) { 4 //键盘录入手机号码 5 Scanner sc = new Scanner(System.in); 6 System.out.println("请输入你的手机号码:"); 7 String phone = sc.nextLine(); 8 9 //定义手机号码的规则 10 String regex = "1[38]\\d{9}"; 11 // 1:第一个字符是1,[38]:第二个字符是3-8;//d{9}:后面9个字符只要是数字都可以 12 13 //调用功能,判断即可 14 boolean flag = phone.matches(regex); 15 16 //输出结果 17 System.out.println("flag:"+flag); 18 } 19 }
2、校验邮箱
分析:
邮箱的规则:
1、(不定个数的字母或者数字)@(2-4个不定个数的字母或者数字).(com/cn 2个或者3个字母) 其中.(com/cn) 是不定次数的
2、正则表达式:String regx = "\\w+@\\w{2,6}(\.[a-zA-Z]{2,3})+";
解析:
\\w :所有字母和数字 ; + :前面的出现1次或者多次 ; \\w{2,6} : \\w只能出现2-6个
\. : ‘.’这个字符 ; [a-zA-Z] : 所有的字母 ; {2,3} :前面的字母只能出现2-3个 ,
(\.[a-zA-Z]{2,3})+ : ‘+’前面的内容出现1次或者多次
注意:
A:是 \ 而不是 /
B:正则表达式不能有空格
3、调用2的功能,进行判断
判断功能
String类的public boolean matches(String regex)
4、输出结果 boolean类型
1 import java.util.Scanner; 2 public class EmailTest { 3 4 public static void main(String[] args) { 5 // 创建键盘录入 6 Scanner sc = new Scanner(System.in); 7 System.out.println("请输入邮箱:"); 8 String str = sc.nextLine(); 9 10 //定义邮箱的组成 11 String regex = "\\w+@\\w{2,6}(\\.\\w{2,3})+"; 12 13 //调用判断功能 String类的public boolean matches(String regex) 14 boolean flag = str.matches(regex); 15 16 System.out.println("你输入的email是:"+flag); 17 } 18 }