java,不包含qq邮箱的正则表达式怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java,不包含qq邮箱的正则表达式怎么写相关的知识,希望对你有一定的参考价值。

import java.util.Scanner;
public class Test
public static void main(String[] args)
Scanner sc = new Scanner(System.in);

System.out.println("请输入一个邮箱地址:");
String mail = sc.nextLine();

/*
设定邮箱地址的合法规则,合法邮箱地址要求如下:
(1)字符必须是英文或数字开始
(2)必须包含一个@
(3)@符号在. 符号前面
(4)以英文或数字结尾

*/
//设置一个正则表达式
String reg = "[\\w]+@[\\w]+.[\\w]+";

//告知此字符串是否匹配给定的正则表达式。
if(mail.matches(reg))
System.out.println("邮箱地址合法!");

else
System.out.println("邮箱地址不合法!");





这里主要是采用正则表达式的方式。关于正则表达式,楼主可以查看Pattern类和Matcher类。楼主可以可以到网上查看下相关资料。很快就能理解了。

这里解释下上面的正则表达式String reg = "[\\w]+@[\\w]+.[\\w]+";
\w 表示单词字符:[a-zA-Z_0-9],上面是两个反斜杆是因为反斜杆是转义字符
+号表示:出现一次或多次 ,所以[\\w]+意思就是一到多个单词字符(英文或数字)
@ :直接表示@字符
.:表示点字符
综上所述。
String reg = "[\\w]+@[\\w]+.[\\w]+";的意思就是 :一到多个字符 + @ + 一到多个字符 + 点 + 一到多个字符。
正则表达式使用的好。可以解决很多问题。希望楼主能学好~~
你自己把qq邮箱的部分去掉,再执行以下的验证
参考技术A 直接判断有点困难,因为邮箱的种类很多,QQ只是其中的一个,所以首先判断是否是邮箱,再检查是不是QQ邮箱;如果你只是在常用邮箱中(163, gmail, sina等)除去QQ邮箱,可以这样写:
“\\w+@(163|gmail|sina)\\.\\w+”本回答被提问者和网友采纳
参考技术B 你不如先把qq邮箱匹配出来再把它去掉

Java正则表达式校验QQ号码和邮箱地址格式

 1 public class Demo02 
 2     public static void main(String[] args) 
 3         Scanner sc = new Scanner(System.in);
 4         String s = "";
 5         System.out.println("请输入一个字符串");
 6         s = sc.nextLine();
 7         // System.out.println(checkQQ(s));            
 8         System.out.println(checkEmail(s));
 9     
10     
11     // 利用正则表达式校验QQ号
12     public static boolean checkQQ(String str) 
13         return str.matches("[1-9][0-9]4,14");    // matches()方法告知此字符串是否匹配给定的正则表达式。 
14     
15     
16     // 校验邮箱地址
17     public static boolean checkEmail(String email) 
18         return email.matches("^[a-zA-Z0-9_-][email protected][a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$");
19     
20 

 

以上是关于java,不包含qq邮箱的正则表达式怎么写的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中写邮箱格式的正则表达式,怎么写?

PHP 帮忙写个正则表达式 判断QQ邮箱格式

Java SE之正则表达式六:匹配规则

JAVA正则表达式判断 只能包含汉字、英文、“_”和数字 ,正则该怎么写呢?

问一个关于邮箱的正则表达式

Java 正则表达式 限定字符串中只能包含字母,数字和连接符- 怎么写?