【问题标题】:Multiple Backreferences in Matcher.replaceAll()Matcher.replaceAll() 中的多个反向引用
【发布时间】:2011-10-23 19:23:13
【问题描述】:

Matcher.replaceAll()single backreference 效果很好(即Matcher.replaceAll("$2"))。

但我无法使其与两个或多个反向引用一起工作,例如Matcher.replaceAll("$1$2").

Matcher.replaceAll() 是否支持多个反向引用?如果是这样,使用它的正确语法是什么?

【问题讨论】:

标签: java regex matcher backreference


【解决方案1】:

它工作得很好。以下sn-p:

Pattern p = Pattern.compile("(.)(.)");
Matcher m = p.matcher("ab");
System.out.println(m.replaceAll("$2$1"));

将打印:

ba

【讨论】:

  • 你说的都对。我使用的语法是正确的,但我未能将Matcher.replaceAll("$1$2") 的返回值分配给输出字符串。现在一切都很好。谢谢!
猜你喜欢
  • 2017-08-29
  • 1970-01-01
  • 1970-01-01
  • 2017-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多