Java正则表达式

本文主要描述Java正则表达式(Regular Expression),其作用是预先定义一个规则,然后,使用该规则匹配输入的字符串是否符合定义的规则,也可以从匹配的输出中提取字符串,正则表达式的常用使用场景包括字符串校验、提取字符串、规则引擎、语法规则。

正则定义

字符

 

x     字符x

\\    反斜杆

\xhh  十六进制值0xhh

\t    tab键('\u0009')

\n    换行符('\u000A')

\r    回车键('\u000D')

列举

[abc]       字符a、b、c

[^abc]    不包括a、b、c的字符

[a-zA-Z]  范围a到z、范围A到Z的字符

[a-d[m-p]]     范围a到d、范围m到p的并集

[a-z&&[def]] 范围a到z与字符d、e、f的交集

[a-z&&[^bc]] 范围a到z不包括字符b、c

[a-z&&[^m-p]]  范围a到z不包括字符范围m到p

通用

.      点号表示任意字符

\d    数字0到9,[0-9]

\D   非数字0到9,[^0-9]

\s    空格符

\S    非空格符,[^\s]

\w   字, [a-zA-Z_0-9]

\W  非字, [^\w]

界限

^     行开始位置

$     行结束位置

次数

X?   X,  出现0次、一次

X*    X,  出现0次、多次

X+   X,  出现一次、多次

X{n} X,  出现n次

X{n,} X,出现大于或等于n次

X{n,m} X, 出现大于或等于n次并且小于或等于m次

逻辑

XY   XY并排

X|Y  X或者Y

(X)   X,  分组

使用示例

 

(([[a-zA-Z]+-?[a-zA-Z0-9]+]+)@([[a-zA-Z0-9]+\\.[a-zA-Z0-9]+]+))

定义一个分组的正则表达式,其形式是((a)@(b)),使用正则匹配可以提取其中分组a、b对应的字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangys2006

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值