正则表达式总结 2017.1.6

1、Pattern标记    括号内的表示嵌入表达式

Pattern Pattern.compile(String regex,int flag),其中的flag来自以下Pattern类中的常量:

Pattern.CASE_INSENSITIVE(?i)  这个标记允许模式不必考虑大小写

Pattern.COMMENTS(?x) 在这种模式下,空格符将被忽略掉,并且以#开始直到行末的注释也会被忽略掉

Pattern.DOTALL(?s) 在dotall模式中,表达式"."匹配所有字符,包括行终结符。默认情况下,“.”表达式不匹配行终结符。

Pattern.MULTILINE(?m) 在多行模式下,表达式^和$分别匹配一行的开始和结束。^还匹配输入字符串的开始,$还匹配输入字符串的结尾。默认情况下,这些表达式仅匹配输入的完整字符串的开始和结束。

Pattern.UNICODE_CASE(?u) 指定这个标记,并且开启CASE_INSENSITIVE时,大小写不敏感的匹配将按照与Unicode标准相一致的方式进行。

Pattern.UNIX_LINES(?d)  在这种模式下,在 . 、^ $ 行为中,只识别终结字符 \n  

2、split()方法将输入字符串断开成字符串对象数组,断开边界由正则表达式确定:

  String[] split(CharSequence input)

  String[] split(CharSequence input,int limit)

package stringbuilder;

import java.util.Arrays;
import java.util.regex.Pattern;

public class SplitDemo {
    public static void main(String[] args) {
        String input="This!!unusual use!!of exclamation!!points";
        System.out.println(Arrays.toString(Pattern.compile("!!").split(input)));
        System.out.println(Arrays.toString(Pattern.compile("!!").split(input,3)));
    }
}

运行结果:

[This, unusual use, of exclamation, points]
[This, unusual use, of exclamation!!points]

 

posted @ 2017-01-06 10:54  奋斗的蜗牛cn  阅读(433)  评论(0编辑  收藏  举报