0
点赞
收藏
分享

微信扫一扫

正则表达式规则


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

字符结构定义

编辑匹配定义

逻辑运算定义

量词定义

字符结构定义规则

字符结构

解释

.

任何字符

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
恭喜您,通过验证!





举报

相关推荐

0 条评论