Java正则表达式基础

1 String类提供的正则表达式方法

boolean matches(String regex):判断该字符串是否匹配指定正则表达式。
String replaceAll(String regex, String replacement):返回该字符串中所有匹配正则表达式的子串替换成replacement后的新字符串
String replaceFirst(String regex, String replacement):返回该字符串中第一个匹配正则表达式的子串替换成replacement后的新字符串
String[] split(String regex):根据给定正则表达式的拆分该字符串后得到的字符串数组。

 

2 Java正则表达式专有类

Pattern类和Matcher类

 

3 正则表达式所支持的合法字符

字符解释
 x 字符x(x可代表任何合法的字符)
 \0mnn 8进制数0mnn所表示的字符
 \xhh 16进制值0xhh所表示的字符
 \uhhhh 16进制值0xhhhh所表示的UNICODE字符
 \t 制表符('\u0009')
 \n 新行(换行)符('\u000A')
 \r 回车符('\u000D')
 \f 换页符('\u000C')
 \a 报警(bell)符('\u0007')
 \e Escape符('\u001B')
 \cx x对应的的控制符。例如,\cM :匹配Ctrl-M。x值必须为A-Z或a-z之一。

 

4 正则表达式特殊字符

特殊字符解释
$匹配一行的结尾。要匹配 $ 字符本身,请使用 \$。
^匹配一行的开头。要匹配 ^ 字符本身,请使用 \^。
( )标记子表达式的开始和结束位置。要匹配这些字符,请使用 \( 和 \)。
[ ]用于确定中括号表达式的开始和结束位置,要匹配这些字符,请使用 \[ 和 \]。
{ }用于标记前面子表达式的出现频度,要匹配这些字符,请使用 \{ 和 \}。
*指定前面子表达式可以出现零次或多次。要匹配 * 字符,请使用 \*。
+指定前面子表达式可以出现一次或多次。要匹配 + 字符,请使用 \+。
?指定前面子表达式可以出现零次或一次。要匹配 ? 字符,请使用 \?。
.匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 \.。
\用于转义下一个字符,或指定八进制、十六进制字符。如果需匹配 \,请用\\
|指定两项之间任选一项,如果要匹配 | ,请使用 \|。

 

5 预定义字符

预定义字符说明
.可以匹配任何字符
\d匹配0~9的所有数字
\D匹配非数字
\s匹配所有空白字符,包括空格、制表符、回车符、换页符、换行符等。
\S匹配所有非空白字符。
\w匹配所有单词字符,包括0~9所有数字,26个英文字母和下划线(_)。
\W匹配所有非单词字符。

 

6 方括号表达式

方括号表达式说明
表示枚举例如[abc],表示a、b、c其中任何一个字符;[gz],表示g、z其中任何一个字符。
表示范围- 例如[a-f],表示a到f范围内的任意字符;[\\u0041-\\u0056]表示所有中文字符,范围和枚举可以结合使用,例如[a-cx-z]表示a到c,x到z范围内的任意字符。
表示求否:^ 例如[^abc],表示非abc任意字符;[^a-f],表示不是a到f的任意字符。
表示“与”运算:&&

 例如[a-z&&[def]],求a到z和[def]的交集,表示d、e、f。

 [a-z&&[^bc]],a到z范围内的所有字符,除了b和c之外,即[ad-z]

[a-z&&[^m-p]],a到z范围内的所有字符,除了m到p范围内的字符,即[a-lq-z]

表示“并”运算 并运算与前面的枚举类型类似。例如[a-d[m-p]],表示[a-dm-p]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值