繁体   English   中英

如何在正则表达式中使用\\ n?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM