java.util.regex 包中自带的两个 正则表达式类的使用总结

来源:互联网 发布:明解c语言 mobi 编辑:程序博客网 时间:2024/05/20 21:45

以下总结,都是从java 7 doc 上得到,以及自己写代码验证的结果

1、java.util.regex.Pattern类

每个本类的对象,代表一个正则表达式的模式 。
public final class Pattern  extends Object  implements Serializable
①、【 构造函数 】  本类的构造函数全部为private类型,不对外公开。若想生成本类对象,需要使用本类的静态方法:
          public static Pattern compile(String regex)
          public static Pattern compile(String regex, int flags)
②、获取对象的正则模式字符串 和匹配策略标签:
          public String pattern()      //Returns the regular expression from which this pattern was compiled. 
          public int flags()
③、使用当前对象给指定字符串进行正则匹配   ,返回一个Matcher类对象
          public Matcher matcher(CharSequence input)
④、本类提供的简写版的正则匹配的静态方法, 返回boolean型的是否匹配成功的标签
          public static boolean matches(String regex,CharSequence input)


2、java.util.regex.Matcher类

每个本类的对象,代表一对 【模式字符串,待匹配字符串】,及当前的 【匹配起始位置】字段信息,本类不同的方法,获得一个【匹配是否成功】、【匹配结果】,及修改【匹配起始位置】 ,使用reset方法还可以重置本对象的 【待匹配字符串】
public final class Matcher extends Object  implements MatchResult
①、构造函数   --本类对象,一般都是直接由Pattern类的maches( ) 方法执行后生成


②、获取是否匹配成功和匹配结果字符串的信息
public boolean matches()               //返回整个目标字符串整体是否匹配指定模式
public boolean lookingAt()             //从目标字符串中包含目标字符串第一个字符的子字符串是否匹配指定模式
public boolean find()                      //从当前的 匹配起始位置 开始匹配一次,若匹配成功,则修改匹配起始位置到本次匹配子字符串末尾的后一个字符
public boolean find(int start)          //将 匹配其实位置改为 start ,并开始一次find() 匹配
public String group()                      //若上一次匹配成功,则本方法返回匹配结果,若上一次匹配失败,则本方法直接抛异常
public int start()                              //若上一次匹配成功,则本方法返回匹配结果在待匹配字符串中的起始位置 ,若上一次匹配失败,则本方法直接抛异常
public int end()                              //若上一次匹配成功,则本方法返回匹配结果在待匹配字符串中的结束位置+1 ,若上一次匹配失败,则本方法直接抛异常
public Matcher reset(CharSequence input)   //重置本类对象的 待匹配字符串,及把匹配其实位置设置为 0 
//下面是正则表达式的高级用法,涉及到 捕获组
public String group(int group)       //
public String group(String name)  //
public int start(int group)
public int end(int group)
public int groupCount()

0 0
原创粉丝点击