Scala替换正则表达式中占位符的语法是什么?

时间:2011-11-27 20:30:51

标签: regex scala replace placeholder

所以我可以写:

val res = """(\d*).*""".r.replaceAllIn(s,"""\1""")

到目前为止,我得到文字“1”而不是被捕获的组。

提前谢谢。

1 个答案:

答案 0 :(得分:6)

试试这个:$1而不是\1

Scala的正则表达式使用下面的java.util.regex(至少在JVM上)。现在,如果你在Java文档中查找replaceAll,你会看到:

  

请注意替换中的反斜杠()和美元符号($)   字符串可能会导致结果与正确的结果不同   作为文字替换字符串处理。可以对待美元符号   作为对如上所述的捕获的子序列的引用,和   反斜杠用于替换替换中的文字字符   字符串。