我正在尝试制作一个正则表达式来替换行开头加上\ 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来断行。但是这段代码只是替换了第一行。 有什么建议吗?
答案 0 :(得分:2)
您需要在正则表达式中使用multline flag:
Pattern pattern = Pattern.compile("(?m)(^\\s*\\w*)");
OR
Pattern pattern = Pattern.compile("(^\\s*\\w*)", Pattern.MULTILINE);