java中的正则表达式
自从java1.4版开始,在JDK中包含了java.util.regex包,为我们提供了很好的Java正则表达式的应用平台。正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符以及特殊字符(元字符)组成的文字模式。
假设要搜索一个包含“cat”的字符串,搜索用的正则表达式就是“cat”。正则表达式“cat”匹配“catalog”、“sophisticated”。在java正则表达式中为了简化书写,预定了一些特定的字符串,这里介绍几种常用的特定字符的表示方法,如下表所示
Pattern和Matcher类
当要使用正则表达式对文本进行操作时,要使用java.util.regex包中的Pattern类和Matcher类。
(1)正则表达式模式对象和匹配器对象的构造
以Pattern类的compile()方法构造正则表达式模式对象:
Pattern pattern1=Pattern.compile(String regex);参数regex为要编译的表达式。
以Pattern类的matcher()方法构造匹配器对象:
Matcher matcher1=pattern.matcher(CharSequence input);参数input为匹配的字符序列。
例如:
Pattern pattern1=Pattern.compile(“^Java.*”);
Matcher matcher1=pattern1.matcher("Java是一种程序语言");
(2)查找与替换
通过匹配器对象Matcher类的方法来对文本内容进行操作,Matcher类的常用方法有:matches():查找与正则表达式模式对象匹配的字符串,返回true或false。
replaceAll(String replacement):替换给定的字符串。
appendReplacement(StringBuffer sb,String replacement):通过字符串缓冲区sb替换给定的字符串。
(3)按条件分割字符串
可以通过Pattern类的split(CharSequence input)方法对字符串进行拆分。