常用正则表达式案例(不定期更新)
如果大家对正则没有一点基础,可以查看这几篇文章: 进入正题: 邮箱验证
这是腾讯qq邮箱的正则表达验证(从js中提取的):^(w)+(.w+)*@(w)+((.w+)+)$ 个人感觉qq邮箱的验证有些地方有点影响效率。 但是,貌似这条js只是客户端的js,不是服务端的。所以客户端的匹配不严谨。而且,当主机域名的开始位置有横线时,腾讯那边也能够匹配成功!所以腾讯那边还是匹配得有错的。但是邮箱的要求还是按照上面的几条规则组成,读者可以根据腾讯qq给出的邮箱正则修改。 下面给出我自己写的邮箱正则规则:(大家看到正则很长不必害怕,其实仔细一看还是能够懂得。要结合上面邮箱的组成规则一起看。想当初作者我也是看到一条正则邮箱验证看不懂才去学习正则的。本篇开始也给出了学习正则的相关博客,从0到能够看懂下面的正则表达式) ^(?:w+)[(?:.[-w]+)(?:[-w]+)]*@(?:[a-zA-Z0-9]+)(?:-[a-zA-Z0-9]+)*(?:.[a-zA-Z0-9]+)+$
//也可以进行适当的简化,下面是简化后
^(?i)(?:w+)[(?:.[-w]+)(?:[-w]+)]*@(?:[a-z0-9]+)(?:-[a-z0-9]+)*(?:.[a-z0-9]+)+$
下面给出邮箱测试程序: import java.util.Scanner;
public class pa36{
public static void main(String args[]){
Scanner scanner=new Scanner(System.in);
//^(?:w+)(?:.w+)*@(?:w+)(?:(?:.w+)+)$//腾讯加强后的简化正则
//^(w)+(.w+)*@(w)+((.w+)+)$//腾讯qq邮箱验证正则(我从js源码中提取的)
//自己写的正则:^(?:w+)[(?:.[-w]+)(?:[-w]+)]*@(?:[a-zA-Z0-9]+)(?:-[a-zA-Z0-9]+)*(?:.[a-zA-Z0-9]+)+$
String regex="^(?i)(?:w+)[(?:.[-w]+)(?:[-w]+)]*@(?:[a-z0-9]+)(?:-[a-z0-9]+)*(?:.[a-z0-9]+)+$";
System.out.println("请输入邮箱地址...");
boolean flag=false;
while(scanner.hasNext()){
if(flag)
System.out.println("请输入邮箱地址...");
flag=true;
String sta=scanner.next();
if(sta.matches(regex)){
System.out.println(sta+" 是一个合法邮箱!!");
}else{
System.out.println(sta+" 不是一个合法邮箱!!");
}
}
}
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |