目录

Java正则表达式详解

2019年02月11日 06:36 | 110次浏览

正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(如字符 a~z)以及特殊字符(元字符)组成的文字模式,它用以描述在查找文字主体时待匹配的一个或多个字符串。

正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。本文简单了解一下如何使用正则表达式来操作字符串。


元字符

正则表达式中含有一些具有特殊意义的字符,这些特殊字符称为正则表达式的元字符。例如“\\d”表示 0~9 的任何一个数字,“\d”就是元字符。正则表达式中有多种元字符,常用的元字符如表 1 所示。

元字符正则表达式的写法说明
."."代表任意一个字符
\d"\\d"代表 0~9 的任何一个数字
\D"\\D"代表任何一个非数字字符
\s"\\s"代表空白字符,如"\t’’和’’\n”
\S"\\S"代表非空白字符
\W"\\W"代表不可用于标识符的字符
\p {Lower}\\p {Lower}代表小写字母 {a~z}
\p {Upper}\\p {Upper}代表大写字母 {A~Z}
\p {ASCII}\\p {ASCII}ASCII 字符
\p {Alpha}\\p {Alpha}字母字符
\p {Digit}\\p {Digit}十进制数字,即 [0~9]
\p {Alnum}\\p {Alnum}数字或字母字符
\p {Punct}\\p {Punct}标点符号:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 
\p {Graph}\\p {Graph}可见字符:[\p{Alnum}\p{Punct}]
\p {Print}\\p {Print}可打印字符:[\p{Graph}\x20]
\p {Blank}\\p {Blank}空格或制表符:[\t]
\p {Cntrl}\\p {Cntrl}控制字符:[\x00-\x1F\x7F]

在正则表达式中,可以使用方括号括起来若干个字符来表示一个元字符。这个元字符可以代表方括号中的任何一个字符,例如字符串“reg="a4"” “reg="b4"”和“reg="c4"”都是与“reg="[abc]4"”匹配的字符串。


注意:在正则表达式中,"."代表任何一个字符,因此如果想在正则表达式中使用普通意义的点字符,那么必须使用转义字符。


限定符

正则表达式中允许使用限定修饰符来限定元字符出现的次数,例如,“B*”表示 B 字母可以在字符串中出现零次或多次。正则表达式中可以使用多种限定符,如表 2 所示。

限定符?*+{n}{n,}{n,m}
说明零次或一次零次或多次一次或多次正好出现 n 次至少出现 n 次出现 n~m 次


感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程