Java正则表达式

2023-12-28 22:47:20

本文主要描述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对应的字符串

文章来源:https://blog.csdn.net/uesowys/article/details/135278929
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。