正则表达式规则

来源:互联网 发布:app端口的作用 编辑:程序博客网 时间:2024/06/03 12:35

正则表达式中的规则定义可分为如下几个方面:

字符结构定义

编辑匹配定义

逻辑运算定义

量词定义

字符结构定义规则字符结构解释.任何字符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为任何字符、字符串。
逻辑运算符定义规则定义解释XYX后跟随YX\YX或者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恭喜您,通过验证!




0 0