关于 Java 中 正则表达式的 MULTILINE 标志
来源:互联网 发布:java报表开发工具 编辑:程序博客网 时间:2024/06/04 23:20
先看看官方给出的说明:
MULTILINE
Enables multiline mode.
In multiline mode the expressions ^ and $ match just after or just before, respectively, a line terminator or the end of the input sequence. By default these expressions only match at the beginning and the end of the entire input sequence.Multiline mode can also be enabled via the embedded flag expression (?m).
翻译过来大概就是说:
启用多行模式。在多行模式中,表达式 ^ 和 $ 分别匹配一个行结束符号或者输入序列的末尾。在默认情况下,这些表达式只匹配整个输入序列的开始和结尾。多行模式也可以通过嵌入标志 ?m 来启用。
我测试了一下,也就是说如果没有 MULTILINE
标志的话, ^
和 $
只能匹配输入序列的开始和结束;否则,就可以匹配输入序列内部的行结束符。测试代码如下:
package cn.chd.test.regex;import java.util.regex.Matcher;import java.util.regex.Pattern;import org.junit.Test;public class MultiLineTest { private String input = "abc\r\ndef"; /* result: test1() begin 0-3 5-8 test1() end */ @Test public void test1() { String regex = "^\\w+$"; Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE); Matcher matcher = pattern.matcher(input); System.out.println("test1() begin"); while (matcher.find()) { System.out.printf("%d-%d\n", matcher.start(), matcher.end()); } System.out.println("test1() end"); } /* result: test2() begin test2() end */ @Test public void test2() { String regex = "^\\w+$"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); System.out.println("test2() begin"); while (matcher.find()) { System.out.printf("%d-%d\n", matcher.start(), matcher.end()); } System.out.println("test2() end"); }}
参考:
Pattern (Java Platform SE 7 )
0 0
- 关于 Java 中 正则表达式的 MULTILINE 标志
- python里使用正则表达式的MULTILINE标志
- javascript正则表达式修饰符之multiline(/m)的使用
- JAVA正则表达式之标志表达式
- 关于java的正则表达式
- 关于java的正则表达式
- 关于Java的正则表达式
- 正则表达式中的Multiline和Singleline
- 关于java中正则表达式的一些总结
- 正则表达式标志
- 关于java正则表达式
- 关于 java正则表达式
- 关于java正则表达式
- js中几个正则表达式相关函数使用时g标志的作用
- js中几个正则表达式相关函数使用时g标志的作用
- 关于C#中验证的正则表达式
- JS中关于正则表达式的基本知识
- 关于VIM中正则表达式的学习
- 【类型转换】list集合之再认识
- 动态设置UITableView的cell高度(old)
- TCP:状态控制码
- SVD:奇异值分解
- filter过滤器 的初步使用,以及他的基本应用
- 关于 Java 中 正则表达式的 MULTILINE 标志
- IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2) A. Bear and Three Balls 水题
- 开始leetcode吧,加油
- 电信版 RG100A-AA 路由器的破解和应用
- win7 快捷键
- iOS-静态库及其制作
- struts2中的constant配置
- 《Android源码设计模式解析与实》读书笔记
- Problem A: 输入字符串以及输出