java正则表达式

正则表达式基础

表达式含义
\g匹配不只一个
\i忽略大小写(与Pattern.CASE_INSENSITIVE一样)
\d取一个整数,相当于[0-9]
[\u4e00-\u9fa5]匹配中文
.匹配除了\r与\n的任意字符 ,一般与*联用
*匹配它紧跟着的 零个或者任意多个字符
xy
\s可以匹配\r与\n
[a-z]字符范围,即匹配任意一个小写字母
+匹配紧跟的字符一个或者多个
[^a-z]不匹配字母

java特有的

\

在其他语言中,\ 表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义。
在 Java 中,\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。
所以,在其他的语言中(如Perl),一个反斜杠 \ 就足以具有转义的作用,而在 Java 中正则表达式中则需要有两个反斜杠才能被解析为其他语言中的转义作用。也可以简单的理解在 Java 的正则表达式中,两个 \ 代表其他语言中的一个 \,这也就是为什么表示一位数字的正则表达式是 \d,而表示一个普通的反斜杠是 \\。

Matcher.find()

下面是方法的注释:

This method starts at the beginning of this matcher's region, or, if
a previous invocation of the method was successful and the matcher has
not since been reset, at the first character not matched by the previous  match.

如果匹配成功,同时没有重置,那么将向后接着匹配,直到匹配结束。

while (matcher.find()) {
      System.out.println(matcher.group());
}

group():表示取0组,这时不能使用group(数字),无法匹配成功,因为matcher没有重置,后面的组与最开始已经不一样了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值