java正则表达式字符串匹配和多行用新行分隔

标签 java regex

如何编写一个正则表达式来匹配由换行符和空格分隔的多行?

以下代码适用于多行,但如果输入 是

字符串输入=“A1234567890\nAAAAA\nwwwwwwww”

我的意思是 matches() 对于输入来说不正确。

这是我的代码:

package patternreg;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class pattrenmatching {
  public static void main(String[] args) {

    String input = "A1234567890\nAAAAA";   
    String regex = ".*[\\w\\s\\w+].*";   
    Pattern p = Pattern.compile(regex,Pattern.MULTILINE); 
    Matcher m =p.matcher(input);

            if (m.matches()) {
       System.out.println("matches() found the pattern \"" 
             + "\" starting at index " 
             + " and ending at index ");
    } else {
       System.out.println("matches() found nothing");
    }
  }
}

最佳答案

您还可以添加 DOTALL 标志以使其正常工作:

Pattern p = Pattern.compile(regex, Pattern.MULTILINE | Pattern.DOTALL);

关于java正则表达式字符串匹配和多行用新行分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9317591/

相关文章:

java - 在java中实现乘法算法

C#获取以特定单词开头的多行字符串行

任何数字中的两个正则表达式,然后是另一个数字中的三个,然后是另一个数字中的四个?

python - 使用 CR/LF 对使用正则表达式拒绝匹配

php - 需要在 PHP 正则表达式中匹配多个反斜杠

php - 使用 RegEx 提取表单字段

java - 如何从 jlist 中删除一个项目

java - Spring Boot 无法连接 Postgresql 数据库

java - 在方法中创建Hashset对象会减少java中的堆栈内存

java - Android 中的下一个/后退按钮可检索下一个/上一个记录