Java中的正则表达式类
java.util.regex包
该包主要包括以下三个类
- Pattern类: Pattern对象是一个正则表达式的编译表示
- Matcher类: Matcher对象是对输入字符串进行解释和匹配操作引擎。
- PatternSyntaxException : PatternSyntaxException是一个非强制异常类,它表示一个正则表达式模式中的语法错误
Pattern类
Pattern是一个final修饰的类,
主要参数
/**
* The original regular-expression pattern string.
*这个是匹配的规则,就是正则表达式
* @serial
*/
private String pattern;
/**
* The original pattern flags.
*这个是匹配的标志,如public static final int UNICODE_CASE = 0x40;这个就是该类中的一个规则,如果flags=UNICODE_CASE那么该匹配规则就不区分大小写
* @serial
*/
private int flags;
/**
* The starting point of state machine for the find operation. This allows
* a match to start anywhere in the input.
* 用于查找操作的状态机的起点。 这允许在输入中任何位置开始的匹配。
*/
transient Node root;
实例化Pattern:comile(String regex)
pulic static Pattern comile(String regex){
return new Pattern(regex,0);
}
public static Pattern comile(String regex,int flags){
return new Pattern(regex,flags)
}
实例化Matcher:matcher(CharSequence input)
public Matcher matcher(CharSequence input) {
if (!compiled) {
synchronized(this) {
if (!compiled)
compile();
}
}
Matcher m = new Matcher(this, input);
return m;
}
全局匹配matches(String regex, CharSequence input)
public static boolean matches(String regex, CharSequence input) {
Pattern p = Pattern.compi