Java正则表达式

--------------------------------------------------------------------------------
语法 解释

--------------------------------------------------------------------------------
字符
c 字符c
\unnnn, \xnn, \0n, \0nn, \0nnn 带有十六或八进制值的代码单元

\0n 八进制0n代表的字符(0<=n<=7)

\0nn 八进制0nn代表的字符(0<=n<=7)

\0mnn 八进制0mnn代表的字符(0<=m<=3,0<=n<=7)

\xnn 十六进制 0xnn所代表的字符

\uhhhh 十六进制 0xhhhh所代表的字符

\t, \n, \r, \f, \a, \e 控制字符
\t 制表符(\x09)
\n 换行符(\x0a)
\r 回车符(\x0d)
\f 换页符(\x0c)
\a 报警符
\e 转义符
\cc 控制字符中出现的相应字符c

--------------------------------------------------------------------------------
字符类
[C1C2. . .] 由C1、C2……任意一个表示的字符。Ci可以是字符,字符范围(C1-C2)或者字符类。
[^. . .] 字符类的补集
[ . . . && . . .] 两个字符类的交集

--------------------------------------------------------------------------------
预定义字符类
. 除行终止符外的任何字符(如果DOTALL标志置位,则表示任何字符)
\d 数字[0-9]
\D 非数字[^0-9]
\s 空白字符[\t\n\r\f\x0B]
\S 非空白字符
\w 单词字符[a-zA-Z0-9_]
\W 非单词字符
\p{name} 一个指定的字符类,见表12-9
\P{name} 指定字符类的补集

--------------------------------------------------------------------------------
边界匹配符
^ $ 输入的开头和结尾(在多行模式(multilinemode)下是行的开头和结尾)
\b 单词边界
\B 非单词边界
\A 输入的开头
\z 输入的结尾
\Z 除最后行终止符之外的输入结尾
\G 上个匹配的结尾

--------------------------------------------------------------------------------
量词
X? 可选的X(即X可能出现,也可能不出现)
X* X,可以重复0次或多次
X+ X,可以重复1次或多次
X{n} X{n,} X{n,m} X重复n次,至少重复n次,重复n到m次

--------------------------------------------------------------------------------
量词后缀
? 设默认(贪婪)匹配为reluctant匹配
+ 设默认(贪婪)匹配为possessive匹配

--------------------------------------------------------------------------------
集合操作
XY X的匹配后面跟着Y的匹配
X|Y X或Y的匹配

--------------------------------------------------------------------------------
分组
(X) 在一个分组中捕获匹配X的字符串
\n 与第n个分组的匹配

--------------------------------------------------------------------------------
转义
\c 字符c(必须不是字母)
\Q...\E 逐字地引用...
(?...) 特殊构造,见Pattern类的API

--------------------------------------------------------------------------------

预定义的字符类名(PredefinedCharacter Class Names)

--------------------------------------------------------------------------------
Lower 小写的ASII字符[a-z]
Upper 大写的ASCII字符[A-Z]
Alpha ASCII字母[A-Za-z]
Digit ASCII 数字 [0-9]
Alnum ASCII 字母或数字[A-Za-z0-9]
Xdigit 十六进制数字[0-9A-Fa-f]
Print or Graph 可打印的ASCII字符[\x21-\x7E]
Punct 非字母或数字ASCII [\p{Print}&&\P{Alnum}]
ASCII 所有ASCII字符 [\x00-\x7F]
Cntrl ASCII控制字符[\x00-\x1F]
Blank 空格符或制表符[ \t]
Space 空白符 [ \t\n\r\f\0x0B]
javaLowerCase 取决于Character.isLowerCase()的小写字符
javaUpperCase 取决于Character.isUpperCase()的大写字符
javaWhitespace 取决于Character.isWhitespace()的空白符
javaMirrored 取决于Character.isMirrored()的Mirrored(?)
InBlock 这里的Block是unicode字符的块名,用空格隔开,比如BasicLatin 或 Mongolian。块名列表 参考
Category 或InCategory 这里的Category是Unicode字符的种类名,比如L(字母)或者Sc(货币符号)。种类 名列表参考
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值