本文实例讲述了Java正则表达式实现在文本中匹配查找换行符的方法。分享给大家供大家参考,具体如下:
默认情况下,正则表达式 ^ 和 $ 忽略行结束符,仅分别与整个输入序列的开头和结尾匹配。如果激活 MULTILINE 模式,则 ^ 在输入的开头和行结束符之后(输入的结尾)才发生匹配。处于 MULTILINE 模式中时,$ 仅在行结束符之前或输入序列的结尾处匹配。
NLMatch.java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
package nlMatch;
import java.util.regex.Pattern;
/**
* Created by Frank
* 使用正则表达式在文本中查找换行符
*/
public class NLMatch {
public static void main(String[] args) {
String input = "I dream of engines\nmore engines, all day long" ;
System.out.println( "INPUT:" + input);
System.out.println();
String[] patt = { "engines.more engines" , "ines\nmore" , "engines$" };
for ( int i = 0 ; i < patt.length; i++) {
System.out.println( "PATTERN:" + patt[i]);
boolean found;
Pattern p1l = Pattern.compile(patt[i]);
found = p1l.matcher(input).find();
System.out.println( "DEFAULT match " + found);
// .代表任何符号(DOT ALL),
Pattern pml = Pattern.compile(patt[i], Pattern.DOTALL | Pattern.MULTILINE);
found = pml.matcher(input).find();
System.out.println( "Multiline match " + found);
System.out.println();
/*
运行结果:
DEFAULT match true
Multiline match true
PATTERN:engines$
DEFAULT match false
Multiline match true
*/
}
}
}
|
eclipse运行结果如下:
希望本文所述对大家java程序设计有所帮助。