java.util.regex包是一个用于匹配字符序列与正则表达式指定的类库包。这个包中包含有三个类:Pattern、Matcher和PatternSyntaxException.java
Pattern:正则表达式经编译后的表现模式
正则表达式
Matcher:一个Matcher对象是一个状态机器,依据Pattern对象做为匹配模式对字符串展开匹配检查。
app
使用流程:ide
首先使用Pattern的一个静态方法Complie来建立Pattern对象。
spa
Pattern n=Pattern.Complie(regax);
对象
而后,调用Pattern的方法matcher
索引
Matcher m=p.matcher(Candidate);
字符串
获得Matcher对象,Matcher对象保存了许多匹配信息,经过find()方法查找匹配的部分,如有,返回TRUE,m.group()可获得匹配的各组值,不然,返回FALSE。
input
Pattern类的方法:it
一、Static Pattern compile(String regex);
将给定的正则表达式编译并赋予给Parrern类;
Static Pattern compile(String regex,int flags);
二、int flags();
返回当前Pattern的匹配flags参数;
三、Matcher matcher(CharSequeue input);
生成一个给定命名的Matcher对象;
四、Static boolean matchers(String regex,CharSequeue intput);
编译给定的正则表达式而且对输入的字符串以该正则表达式为模式展开匹配,该方法适合于该正则表达式只会使用一次的状况,也就是只进行一次匹配工做,由于这种状况下,不须要生成一个Matcher实例。
五、String Pattern();
返回该Pattern对象所编译的表达式
六、String[] Split(CharSequeue input);
将目标字符串按照Pattern里所包含的正则表达式为模式进行分割。
String[] Split(CharSequeue input,int limit);//limit为指定分割的段数
Matcher类的方法:
一、Matcher appendReplacement(StringBuffer sb,String replacement);
将当前匹配子串替换为指定字符串,而且将替换后的子串以及其以前到上次匹配子串以后的字符串段添加到一个StringBuffer对象里。
二、StringBuffer appendTail(StringBuffer sb);
将最后一次匹配工做后剩余的字符串添加到一个StringBuffer对象里。
三、int end();
返回当前匹配的子串的最后一个字符串在原目标字符串的索引位置。
int end(int group);
返回与匹配模式里指定的但相匹配的子串最后一个字符的位置。
四、boolean find();
尝试在目标字符串里查找下一个匹配子串
boolean find(int start);
重设Matcher对象,而且尝试在目标字符串里从指定的位置开始查找下一个匹配的子串。
五、String group();
返回当前查找而得到的与组匹配的全部子串内容
String group(int group);
返回当前查找而得到的与指定的组匹配的子串内容
int groupCount();
返回当前查找所得到匹配组的数量。
六、boolean lookingAt();
检测目标字符串是否以匹配的子串起始
七、boolean matches();
尝试对整个目标字符串展开匹配检测,也就是对整个目标字符串彻底匹配时才返回值。
八、Pttern pattern();
返回该Matcher对象的现有匹配模式,也就是对应的Pattern对象。
九、String replaceAll(String replacement);
将目标字符串里的全部与既有模式相匹配 的子串替换为指定的字符串
十、String replaceFirst(String repalcement);
只替换第一个。。。。。。。。。。。。。
十一、Matcher reset()//重设该Matcher对象
Matcher reset()//重设该Matcher对象,而且制定一个新的目标字符串
十二、int start();
返回当前查找所获子串的开始字符在原目标字符串中的位置。
1三、int start(int group);
返回当前查找所得到的和指定组匹配的子串的第一个字符在原目标字符串中的位置。