首页 > 代码库 > java正则规则

java正则规则

常用正则规则:

构造 匹配
字符
\\ 反斜线字符
\r 回车符 (‘\u000D‘)
\n 新行(换行)符 (‘\u000A‘)
字符类
[abc] ab 或 c
[^abc] 任何字符,除了 ab 或 c(否定)
[a-zA-Z]
a 到 z 或 A 到 Z, 两头的字母包括在内(范围)
[a-d[m-p]] a 到 d 或 m 到 p[a-dm-p](并集)
[a-z&&[def]] de 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c[ad-z](减去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p[a-lq-z](减去)
预定义字符类
 . 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w

包括下划线的任何单词字符[a-zA-Z0-9_]

\W 非单词字符:[^\w]
边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 上一个匹配的结尾
\Z  输入的结尾,仅用于最后的结束符(如果有的话)
\z 输入的结尾
 Greedy 数量词
 X?  X,一次或一次也没有
 X*  X,零次或多次
 X+  X,一次或多次
 X{n}  X,恰好 n 次
 X{n,}  X,至少 n 次
 X{n,m}  X,至少 n 次,但是不超过 m 次
  Reluctant 数量词
 X??  X,一次或一次也没有
 X*?  X,零次或多次
 X+?  X,一次或多次
 X{n}?  X,恰好 n 次
 X{n,}?  X,至少 n 次
 X{n,m}?  X,至少 n 次,但是不超过 m 次
  Possessive 数量词
 X?+  X,一次或一次也没有
 X*+  X,零次或多次
 X++  X,一次或多次
 X{n}+  X,恰好 n
 X{n,}+  X,至少 n
 X{n,m}+  X,至少 n 次,但是不超过 m
  Logical 运算符
 XY  X 后跟 Y
 X|Y  XY
 (X)  X,作为捕获组
  Back 引用
 \n  任何匹配的 nth 捕获组
  引用
 \  Nothing,但是引用以下字符
 \Q  Nothing,但是引用所有字符,直到 \E
 \E  Nothing,但是结束从 \Q 开始的引用

 

java正则规则