“正则表达式 练习:验证邮箱地址”的版本间的差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
Jihongchang(讨论 | 贡献)  (→自己实现的)  | 
				Jihongchang(讨论 | 贡献)  小 (Jihongchang移动页面正则表达式 练习至正则表达式 练习:验证邮箱地址)  | 
				||
| (未显示同一用户的3个中间版本) | |||
| 第19行: | 第19行: | ||
     public static void main(String[] args) {  |      public static void main(String[] args) {  | ||
| − |          String regex = "[  | + |          String regex = "[\\w-]+@([a-zA-Z]+\\.)+[a-zA-Z]+";  | 
         Homework01 work = new Homework01();  |          Homework01 work = new Homework01();  | ||
| − |          System.out.  | + |         String content = "jihongchang@jihongchang.top";  | 
| + | |||
| + |         System.out.printf("\"%s\".matches(regex):%b \n", content, content.matches(regex));  | ||
| + | |||
| + |         content = "jihongchang@";  | ||
| + | |||
| + |          System.out.printf("\"%s\".matches(regex):%b \n", content, content.matches(regex));  | ||
| − | + |          content = "jihongchang@jihongchang";  | |
| − |          System.out.  | + |          System.out.printf("\"%s\".matches(regex):%b \n", content, content.matches(regex));  | 
| − |          System.out.  | + |         content = "jihongchang@jihongchang.";  | 
| + | |||
| + |         System.out.printf("\"%s\".matches(regex):%b \n", content, content.matches(regex));  | ||
| + | |||
| + |         content = "ji_hong-chang@jihongchang.top";  | ||
| + | |||
| + |          System.out.printf("\"%s\".matches(regex):%b \n", content, content.matches(regex));  | ||
| + | |||
| + |         content = "ji_hong-chang@jihongchang.@jihongchang.top";  | ||
| + | |||
| + |         System.out.printf("\"%s\".matches(regex):%b \n", content, content.matches(regex));  | ||
     }  |      }  | ||
| 第63行: | 第79行: | ||
         return !content.matches(regex);  |          return !content.matches(regex);  | ||
| + | |||
| + |     }  | ||
| + | |||
| + |     public boolean test5(String regex) {  | ||
| + | |||
| + |         String content = "ji_hong-chang@jihongchang.top";  | ||
| + | |||
| + |         return content.matches(regex);  | ||
| + | |||
| + |     }  | ||
| + | |||
| + |     public boolean test6(String regex) {  | ||
| + | |||
| + |         String content = "ji_hong-chang@jihongchang.@jihongchang.top";  | ||
| + | |||
| + |         return content.matches(regex);  | ||
     }  |      }  | ||
| 第68行: | 第100行: | ||
}  | }  | ||
</syntaxhighlight><syntaxhighlight lang="console">  | </syntaxhighlight><syntaxhighlight lang="console">  | ||
| − | + | "jihongchang@jihongchang.top".matches(regex):true    | |
| − | + | "jihongchang@".matches(regex):false   | |
| − | + | "jihongchang@jihongchang".matches(regex):false   | |
| − | + | "jihongchang@jihongchang.".matches(regex):false   | |
| − | </syntaxhighlight>  | + | "ji_hong-chang@jihongchang.top".matches(regex):true    | 
| + | "ji_hong-chang@jihongchang.@jihongchang.top".matches(regex):false  | ||
| + | </syntaxhighlight>注意:String matches 是整体匹配  | ||
2022年11月22日 (二) 07:01的最新版本
https://www.bilibili.com/video/BV1Eq4y1E79W?p=24
验证电子邮件格式是否合法
规定电子邮件规则为:
- 只能有一个@
 - @前面是用户名,可以是 a-z、A-Z、0-9、 _(下划线)、-(减号、中划线)字符
 - @后面是域名,并且域名只能是英文字母,比如 sohu.com 或者 tsinghua.org.cn
 
写出对应的正则表达式,验证输入的字符串是否满足规则
自己实现的
public class Homework01 {
    public static void main(String[] args) {
        String regex = "[\\w-]+@([a-zA-Z]+\\.)+[a-zA-Z]+";
        Homework01 work = new Homework01();
        String content = "jihongchang@jihongchang.top";
        System.out.printf("\"%s\".matches(regex):%b \n", content, content.matches(regex));
        content = "jihongchang@";
        System.out.printf("\"%s\".matches(regex):%b \n", content, content.matches(regex));
        content = "jihongchang@jihongchang";
        System.out.printf("\"%s\".matches(regex):%b \n", content, content.matches(regex));
        content = "jihongchang@jihongchang.";
        System.out.printf("\"%s\".matches(regex):%b \n", content, content.matches(regex));
        content = "ji_hong-chang@jihongchang.top";
        System.out.printf("\"%s\".matches(regex):%b \n", content, content.matches(regex));
        content = "ji_hong-chang@jihongchang.@jihongchang.top";
        System.out.printf("\"%s\".matches(regex):%b \n", content, content.matches(regex));
    }
    public boolean test1(String regex) {
        String content = "jihongchang@jihongchang.top";
        return content.matches(regex);
    }
    public boolean test2(String regex) {
        String content = "jihongchang@";
        return !content.matches(regex);
    }
    public boolean test3(String regex) {
        String content = "jihongchang@jihongchang";
        return !content.matches(regex);
    }
    public boolean test4(String regex) {
        String content = "jihongchang@jihongchang.";
        return !content.matches(regex);
    }
    public boolean test5(String regex) {
        String content = "ji_hong-chang@jihongchang.top";
        return content.matches(regex);
    }
    public boolean test6(String regex) {
        String content = "ji_hong-chang@jihongchang.@jihongchang.top";
        return content.matches(regex);
    }
}
"jihongchang@jihongchang.top".matches(regex):true 
"jihongchang@".matches(regex):false 
"jihongchang@jihongchang".matches(regex):false 
"jihongchang@jihongchang.".matches(regex):false 
"ji_hong-chang@jihongchang.top".matches(regex):true 
"ji_hong-chang@jihongchang.@jihongchang.top".matches(regex):false
注意:String matches 是整体匹配