Pattern是java.util.regex(一个用正则表达式所订製的模式来对字元串进行匹配工作的类库包)中的一个类。一个Pattern是一个正则表达式经编译后的表现模式。
Pattern的方法如下 static Pattern compile(String regex)
将给定的正则表达式编译并赋予给Pattern类
static Pattern compile(String regex, int flags)
同上,但增加flag参数的指定,可选的flag参数包括CASE INSENSITIVE,MULTILINE,DOTALL,UNICODE CASE, CANON EQ、
将给定的正则表达式编译并赋予给Pattern类
static Pattern compile(String regex, int flags)
同上,但增加flag参数的指定,可选的flag参数包括CASE INSENSITIVE,MULTILINE,DOTALL,UNICODE CASE, CANON EQ、
flags参数是一个位掩码,并在Pattern类中定义为int常量。
Flag | 描述 |
---|---|
Pattern.CANON_EQ | 启用规范等效。 |
Pattern.CASE_INSENSITIVE | 启用不区分大小写的匹配。 |
Pattern.COMMENTS | 启用不区分大小写的匹配。... |
Pattern.DOTALL | 允许在模式中的空格和注释。 忽略以#开头的空格和嵌入的注释,直到行的结尾。 |
Pattern.LITERAL | 启用模式的文字解析。 这个标誌使元字元和转义序列作为正常字元。 |
Pattern.MULTILINE | 启用多行模式。默认情况下,^和$匹配输入序列的开始和结束。此标誌使模式仅逐行匹配或输入序列的末尾。 |
Pattern.UNICODE_CASE | 启用支持Unicode的大小写。 与CASE_INSENSITIVE标誌一起,可以根据Unicode标準执行不区分大小写的匹配。 |
Pattern.UNICODE_ CHARACTER_CLASS | 启用预定义字元类和POSIX字元类的Unicode版本。 设定此标誌时,预定义字元类和POSIX字元类符合Unicode技术标準。 |
Pattern.UNIX_LINES | 启用Unix行模式。设定此标誌时,只有\ n字元被识别为行终止符。 |
int flags()
返回当前Pattern的匹配flag参数.
Matcher matcher(CharSequence input)
生成一个给定命名的Matcher对象
static boolean matches(String regex, CharSequence input)
编译给定的正则表达式并且对输入的字串以该正则表达式为模开展匹配,该方法适合于该正则表达式只会使用一次的情况,也就是只进行一次匹配工作,因为这种情况下并不需要生成一个Matcher实例。
String pattern()
返回该Patter对象所编译的正则表达式。
String[] split(CharSequence input)
将目标字元串按照Pattern里所包含的正则表达式为模进行分割。
String[] split(CharSequence input, int limit)
作用同上,增加参数limit目的在于要指定分割的段数,如将limi设为2,那幺目标字元串将根据正则表达式分为割为两段。
一个正则表达式,也就是一串有特定意义的字元,必须要编译成为一个Pattern类的实例,这个Pattern对象将会使用matcher()方法来生成一个Matcher实例,接着便可以使用该 Matcher实例以编译的正则表达式为基础对目标字元串进行匹配工作,多个Matcher是可以共用一个Pattern对象的。