程序员不只能用字符串来表示一个正则表达式,实际上,Java语言定义了一个专门用来表示正则表达式的类,它的名称是Pattern,因此,一个Pattern类的对象当中就封装了一个经过编译的正则表达式。需要注意:这个类位于java.util. regex包下,因此在使用时需要用import关键字进行引入。
Pattern类定义了一个构造方法,但是这个构造方法是私有的,所以在程序当中不能通过new关键字来创建它的对象。程序员都是通过它的compile()静态方法来创建对象的。在调用compile方法时需要把一个字符串形的正则表达式当作参数传递到这个方法当中,例如:
Pattern p = Pattern.compile("\\d[abc]");
如果某个Pattern类的对象并不是通过compile()静态方法创建出来的,而是从其他方法中返回到程序当中的,程序员可以通过pattern()方法来获得对象中包含的那个正则表达式,所获得的这个正则表达式是以字符串的形式返回的。
使用Pattern类的对象也可以去某个字符串当中去搜索符合特定格式的目标字符串。找到目标字符串之后,程序员用Pattern类对象不能完成替换操作,这是因为Pattern类没有提供完成替换的方法。如果需要把搜索到目标字符串替换成其他内容,需要使用Matcher类,关于Matcher类的使用将会在16.4小节中讲解。但是Pattern类提供了一个split(