正则表达式常用知识点

2016-07-12 / 20 阅读 / Java

常用转义符

符号意义
\\反斜杠
\t间隔 ('\u0009')
\n换行 ('\u000A')
\r回车 ('\u000D')
\d数字 等价于[0-9]
\D非数字 等价于[^0-9]
\s空白符号 [\t\n\x0B\f\r]
\S非空白符号 [^\t\n\x0B\f\r]
\w单独字符 [a-zA-Z_0-9]
\W非单独字符 [^a-zA-Z_0-9]
\f换页符

特殊符号

^ 为限制开头
例如:
java 条件限制为以Java为开头字符
$ 为限制结尾
例如:
java$ 条件限制为以java为结尾字符
. 条件限制除/n以外任意一个单独字符
例如:
java. 条件限制为java后除换行外任意一个字符
[ ]为限制条件
例如:
[a-z] 条件限制在小写a~z范围中一个字符
[A-Z] 条件限制在大写A~Z范围中一个字符
[a-zA-Z] 条件限制在小写a~z或大写A~Z范围中一个字符
[0-9] 条件限制在小写0~9范围中一个字符
[0-9a-z] 条件限制在小写0~9或a~z范围中一个字符
[0-9[a-z]] 条件限制在小写0~9或a~z范围中一个字符(交集)
[^ ]^为限制条件的再次限制条件
例如:
[
a-z] 条件限制在非小写a~z范围中一个字符
[A-Z] 条件限制在非大写A~Z范围中一个字符
[
a-zA-Z] 条件限制在非小写a~z或大写A~Z范围中一个字符
[0-9] 条件限制在非小写0~9范围中一个字符
[
0-9a-z] 条件限制在非小写0~9或a~z范围中一个字符
[^0-9[a-z]] 条件限制在非数字0~9或a~z范围中一个字符(交集)

特定数量限制

对于以上条件限制之后,可能对数量还有限制
* 数量限制 0 个以上
例如:
a* 0个以上a
.* 0个以上任意字符
a.*b a与b之间0个以上任意字符

+数量限制 1 个以上
J+ 1个以上J
.+ 1个以上任意字符
J.+D J与D之间1个以上任意字符

? 数量限制 0或1次以上时
例如:
ab? 可以匹配 a 和 ab

{n} 匹配指定数量n的
例如:
a{2} 匹配aa

{n,m} 匹配指定数量为n ~ m之间的
例如:
a{2,3} 匹配 aa 和 aaa

相关推荐