**
一、正则表达式简介
正则表达式定义了字符串的模式。
正则表达式可以用来搜索、编辑或处理文本。
正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
二、正则表达式匹配规则
模式 | 描述 |
---|---|
\w | 匹配字母、数字、下划线 |
\s | 匹配任意空白字符,相当于[\t\n\r\f] |
\S | 匹配任意非空字符 |
\d | 匹配任意数字,相当于[0-9] |
\D | 匹配非数字的字符 |
\A | 匹配字符串开头 |
\Z | 匹配字符串结尾,如果存在换行,只匹配到换行前的结束字符串 |
\z | 匹配字符串结尾,如果存在换行,同时还会匹配换行符 |
\G | 匹配最后匹配完成的位置 |
\n | 匹配一个换行符 |
\t | 匹配一个制表符 |
^ | 匹配一行字符串的开头 |
$ | 匹配一行字符串的结尾 |
. | 匹配任意字符,除了换行符 |
* | 匹配0个或多个表达式 |
+ | 匹配1个或多个表达式 |
? | 匹配0个或1个前面的正则表达式定义的片段,非贪婪方式 |
() | 匹配括号内的表达式,也表示一个组 |
{n} | 精确匹配n个前面的表达式,比如\d{n},代表n个数字 |
{n,m} | 匹配n到m次由前面正则表达式定义的片段,贪婪方式 |
代码实现:校验邮箱
package com.cg.regst;
import java.util.Scanner;
/**
* @author life
* @create 2019-11-24 14:29
* 判断功能:
* 校验邮箱
*/
public class email {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//判断邮箱
String regex = "\\w+@\\w+\\.(com|net.cn)";
//提示语句
System.out.println("请输入您的邮箱:");
while (true){
//获取邮箱
String string = scanner.next();
if (string.matches(regex) == true) {
System.out.println("您输入的邮箱正确,可以登录");
break;
} else
System.out.println("您输入的邮箱错误!请重新输入:");
}
}
}