[英]How to use \n in regular expressions?
初始字符串为
System.out.println(myString)
看起来像这样
Name: Sacha
Last name: Sidor
.............
Name: Masha
........
我试图捕捉第二个名字,即玛莎
Pattern pattern = Pattern.compile("(?:Name:.*?){2}\\n");
Matcher matcher = pattern.matcher(myString);
String secondName = "";
while (matcher.find()) {
secondName = matcher.group();
}
System.out.println(secondName); // prints nothing ???
使用Pattern.DOTALL
标志进行.
匹配所有字符,包括换行符。 没有DOTALL
标志, .
与换行符不匹配。
Pattern pattern = Pattern.compile("(?:Name:.*?)(?:Name: )([^\\n]+)", Pattern.DOTALL);
Matcher matcher = pattern.matcher(myString);
String secondName = "";
if (matcher.find())
secondName = matcher.group(1);
System.out.println(secondName);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.