正则表达式知识详解之多行模式 (java版示例)

前端之家收集整理的这篇文章主要介绍了正则表达式知识详解之多行模式 (java版示例)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

正则表达式知识详解系列,通过代码示例来说明正则表达式知识
代码下载地址:http://download.csdn.net/detail/gnail_oug/9504094

java启用多行模式只需要在编译模式时增加参数Pattern.MULTILINE即可

示例功能
1、多行模式匹配字符串开头
2、多行模式匹配字符串结尾

/** * 多行模式 * @date 2016-04-20 15:31:19 * @author sgl */
    public static void multiline(){
        //注意里面的换行符
        String str=@H_403_13@"hello world\r\nhello java\r\nhello java";

        System.out.println(@H_403_13@"===========匹配字符串开头(多行模式)===========");
        Pattern p=Pattern.compile(@H_403_13@"^hello",Pattern.MULTILINE);
        Matcher m=p.matcher(str);
        while(m.find()){
            System.out.println(m.group()+@H_403_13@" 位置:["+m.start()+@H_403_13@","+m.end()+@H_403_13@"]");
        }

        System.out.println(@H_403_13@"===========匹配字符串结尾(多行模式)===========");
        p=Pattern.compile(@H_403_13@"java$",Pattern.MULTILINE);
        m=p.matcher(str);
        while(m.find()){
            System.out.println(m.group()+@H_403_13@" 位置:["+m.start()+@H_403_13@","+m.end()+@H_403_13@"]");
        }

    }

运行结果:

=@H_301_101@==========匹配字符串开头(多行模式)=========== hello   位置:[0,5]
hello   位置:[13,18]
hello   位置:[25,30]
=@H_301_101@==========匹配字符串结尾(多行模式)=========== java   位置:[19,23]
java   位置:[31,35]

猜你在找的正则表达式相关文章