正则表达式中的规则定义可分为如下几个方面:
字符结构定义
编辑匹配定义
逻辑运算定义
量词定义
  字符结构定义规则
 
| 字符结构 | 解释 | 
| . | 任何字符 | 
| X | 单个字符,包括控制符(\t,\n,\r,\\,\f) | 
| Xxx | 字符串 | 
| [abc] | 包含a或b或c的任何单个字符 | 
| [^abc] | 不包含a或b或c的任何单个字符 | 
| [a-zA-Z] | 包含英文大小写字母中的任何单个字母 | 
| \s | 空白符(空格、跳格、回车、换行、换页) | 
| \S | 非空白符 | 
| \d | 数字(0~9) | 
| \D | 非数字 | 
| \w | 文本字符,[a-zA-Z_0~9]中的任何一个字符 | 
| \W | 非文本字符 | 
注意:为了使Java编译器识别,在以“\”开始的字符串定义中必须再加上一个“\”,说明跟随的是正则表达式对字符的定义符。正则表达式必须用双括号括起来。
  边界匹配符定义规则
 
| 定义 | 解释 | 
| ^B | 必须以B开始。B为任何字符、字符串。 | 
| B$ | 必须以B结束。B为任何字符、字符串。 | 
 逻辑运算符定义规则
 
| 定义 | 解释 | 
| XY | X后跟随Y | 
| X\Y | X或者Y。X、Y为任何字符、字符串。 | 
 量词符定义规则
 
| 定义 | 解释 | 
| X? | 匹配空字符串,或最多匹配一个X。 | 
| X* | 匹配空字符串,或一个到多个X。 | 
| X+ | 匹配一个或者多个X。 | 
| X{n} | X必须重复n次。 | 
| X{n,} | X至少重复n次。 | 
| X{n,m} | X至少重复n次,但不多于m次。 | 
下面给出一个实例:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class RegularExpress {
public static void main(String[] args) throws IOException {
System.out.print("请输入您的邮箱:");
try(BufferedReader buffReader = new BufferedReader(new InputStreamReader(System.in))) {
String strInput = buffReader.readLine();
if (strInput.matches("(\\w+)(.\\w+)*@(\\w+\\.)(com|edu|net|org|gov|cn)")) {
System.out.println("恭喜您,通过验证!");
}
else {
System.out.println("输入不合法,请重新输入!");
}
}
}
}
运行结果如下: 
请输入您的邮箱:614106917@qq.com
恭喜您,通过验证!










