java regex ,提取一行?

标签 java regex multiline

给定 3 行,如何使用正则表达式提取第二行?

line1
line2
line3 

我用过

pattern = Pattern.compile("line1.*(.*?).*line3");

但是什么也没出现

最佳答案

您可以像这样使用 Pattern.DOTALL 标志:

String str = "line1\nline2\nline3";
Pattern pt = Pattern.compile("line1\n(.+?)\nline3", Pattern.DOTALL);
Matcher m = pt.matcher(str);
while (m.find())
    System.out.printf("Matched - [%s]%n", m.group(1)); // outputs [line2]

关于java regex ,提取一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8989357/

相关文章:

java - 如何在 Android (Java) 中以编程方式制作 TextView 多行

ruby - 你如何理解 Ruby 中的这个三元条件?

syntax - SASS中有多行吗?

java - strace Java 小程序

java - 系统类加载器的名称

javascript - Chrome 句柄是否正确匹配?

android - 从字符串中提取 4 位数字的正则表达式 - Android

java - 如何在 Map 中控制 JPA 列名

java - jna maven构建javacard小程序时出错

c# - C# 中的正则表达式包含 "this"但不包含“that