java中的正则表达式匹配每个“行开始”并替换

时间:2014-01-03 19:06:30

标签: java regex

我正在尝试制作一个正则表达式来替换行开头加上\ t的行开头。 目标是学习正则表达式以及如何使用matcher类。 这是我的代码,直到现在:

        StringBuilder ambe = new StringBuilder();

    Pattern pattern = Pattern.compile("(^\\s*\\w*)");
    Matcher matcher = pattern.matcher(pop.toString());

    ambiente.append("Ambe: [\n");

    ambiente.append(matcher.replaceAll("\t$1"));

    ambiente.append("]\n");

    return ambiente.toString();

在pop内部有几个\ n来断行。但是这段代码只是替换了第一行。 有什么建议吗?

1 个答案:

答案 0 :(得分:2)

您需要在正则表达式中使用multline flag

Pattern pattern = Pattern.compile("(?m)(^\\s*\\w*)");

OR

Pattern pattern = Pattern.compile("(^\\s*\\w*)", Pattern.MULTILINE);