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

gre*_*man 3 regex replace scala placeholder

所以我可以写:

val res = """(\d*).*""".r.replaceAllIn(s,"""\1""")
Run Code Online (Sandbox Code Playgroud)

到目前为止,我得到文字"1"而不是被捕获的组.

先感谢您.

Fai*_*Dev 6

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

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

请注意,替换字符串中的反斜杠()和美元符号($)可能会导致结果与将其视为文字替换字符串时的结果不同.如上所述,美元符号可被视为对捕获的子序列的引用,反斜杠用于替换替换字符串中的文字字符.