该标志启用Unix行模式。在Unix行模式下,仅将'\ n'用作行终止符,而将'\ r'视为文字字符。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class LTERAL_Example {
public static void main(String[] args) {
String input = "This is the first line\r"
+ "This is the second line\r"
+ "This is the third line\r";
//正则表达式以MM-DD-YYY格式接受日期
String regex = "^T.*e";
//创建一个Pattern对象
Pattern pattern = Pattern.compile(regex, Pattern.UNIX_LINES);
//创建一个Matcher对象
Matcher matcher = pattern.matcher(input);
int count = 0;
while(matcher.find()) {
count++;
System.out.println(matcher.group());
}
System.out.println("Number of matches: "+count);
}
}输出结果
This is the first line This is the second line This is the third line Number of matches: 1
而在正常模式下,\ r被视为回车。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class LTERAL_Example {
public static void main(String[] args) {
String input = "This is the first line\r"
+ "This is the second line\r"
+ "This is the third line\r";
//正则表达式以MM-DD-YYY格式接受日期
String regex = "^T.*e";
//创建一个Pattern对象
Pattern pattern = Pattern.compile(regex);
//创建一个Matcher对象
Matcher matcher = pattern.matcher(input);
int count = 0;
while(matcher.find()) {
count++;
System.out.println(matcher.group());
}
System.out.println("Number of matches: "+count);
}
}输出结果
This is the first line Number of matches: 1