我正在尝试制作一个正则表达式来替换行开头加上\t 的行开头。 目标是学习正则表达式以及如何使用匹配器类。 到目前为止,这是我的代码:
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 来换行。但是这段代码只是替换了第一行。 有什么建议吗?
最佳答案
您需要使用 multline flag在你的正则表达式中:
Pattern pattern = Pattern.compile("(?m)(^\\s*\\w*)");
或
Pattern pattern = Pattern.compile("(^\\s*\\w*)", Pattern.MULTILINE);
关于java - java中的正则表达式匹配每个 "line begin"并替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20910952/