正则表达式

最简单的正则表达式的用法就是测试一个特定的字符串是否与之匹配。

首先使用一个正则表达式的字符串来构造Pattern对象,然后从Pattern对象中获取一个Matcher对象,并调用它的matches方法:

Pattern pattern = Pattern.compile(patternString);

Matcher matcher = pattern.matcher(input);

if(mathcer.matches())...

matcher的参数是任何实现了CharSequence接口的类的对象,例如String,StringBuilder或CharBuffer.

当编译一个模式时,还可以设定一个或者多个标志,例如:

Pattern pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE + Pattern.UNICODE_CASE);

支持下面的6个标志:

CASE_INSENSITIVE:匹配字符而忽略它的大小写。在默认情况下,该标志仅仅考虑美国ASCII码字符。

UNICODE_CASE:当与CASE_INSENSITIVE联合使用时,使用Unicode码字符进行匹配。

MULTILINE:^和¥匹配行首和行尾,而不是整个输入。

UNIX_LINES:在多行模式里匹配^和$时,只有【 】表示行结束符。

DOTALL:当使用这个标志时,符号【.】用来匹配任何字符,也包括行结束符。

CANON_EQ:考虑等价于Unicode字符的规范表达式。

如果正则表达式包含组,则Matcher对象可以知道组的边界:

int start(int groupIndex)

int end(int groupIndex)

方法会指明一个特定组的起始索引和结束索引。

也可以通过下面的调用来提取匹配的字符串:

String group(int groupIndex)

原文地址:https://www.cnblogs.com/johnsblog/p/4185535.html