一、基本类



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