Java 正则表达式的匹配

一、基本类

import java.util.regex.Pattern;
import java.util.regex.Matcher;

Pattern类:模式类,用来表示一个编译过的正则表达式。
Matcher类:匹配类,用模式匹配一个字符串所表达的抽象结果。

二、Pattern

String regEx="([a-zA-Z]+)|//s+[0-9]{1,2},//s*[0-9]{4}";  
Pattern pattern = Pattern.compile(regEx);  
pattern.split("someStr")//用上文的正则分隔指定字符串
Pattern.matches("\\d+","2223");//自带模式,全局匹配

三、Matcher

3.1 生成匹配器(匹配前)

//Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持.
String regEx="([a-zA-Z]+)|//s+[0-9]{1,2},//s*[0-9]{4}";  
Pattern pattern = Pattern.compile(regEx);  
Matcher matcher = pattern.matcher(str);  

3.2 匹配方法(匹配)

Matcher类提供三个匹配操作方法,返回boolean类型
matches()全局匹配,相当于Pattern.compile(regex).matcher(input).matches() 
lookingAt()前缀匹配
find()查找下一个
reset()无参时重置查找位置,有参时传入新的字符串供正则匹配

3.3 分组(匹配后)

regex可以用()来分组,有几()就是有几组,注意,每个input可能有多个匹配,分组是对一次匹配而言的,是regex中的分组。

组是用()划分的表达式,第0组代表整个匹配字符串,第1组代表此次匹配中符合regex中第一个()内容的部分

groupCount()分组数,当然不包括0了

group()返回刚才匹配的第0组
start()刚才找到的字符串的开始位置 
end()刚才找到的字符串的结束位置 
group(int k)返回刚才匹配到的第k组,没有则反null

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值