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邮箱的正则表达式怎么写的主要内容,如果未能解决你的问题,请参考以下文章