KT-50173 Fix Regex.escapeReplacement function in JS
This commit is contained in:
@@ -318,7 +318,7 @@ public actual class Regex actual constructor(pattern: String, options: Set<Regex
|
||||
public actual fun escapeReplacement(literal: String): String = literal.nativeReplace(replacementEscape, "\\$&")
|
||||
|
||||
private val patternEscape = RegExp("""[\\^$*+?.()|[\]{}]""", "g")
|
||||
private val replacementEscape = RegExp("""[\$]""", "g")
|
||||
private val replacementEscape = RegExp("""[\\$]""", "g")
|
||||
|
||||
internal fun nativeEscapeReplacement(literal: String): String = literal.nativeReplace(nativeReplacementEscape, "$$$$")
|
||||
private val nativeReplacementEscape = RegExp("""\$""", "g")
|
||||
|
||||
@@ -263,7 +263,10 @@ class RegexTest {
|
||||
// inserts the first captured group
|
||||
assertEquals("(123)-(456)", pattern.replace(input, "($1)"))
|
||||
|
||||
assertEquals("$&-$&", pattern.replace(input, Regex.escapeReplacement("$&")))
|
||||
for (r in listOf("$&", "\\$", "\\ $", "$\\")) {
|
||||
assertEquals("$r-$r", pattern.replace(input, Regex.escapeReplacement(r)))
|
||||
}
|
||||
|
||||
assertEquals("X-456", pattern.replaceFirst(input, "X"))
|
||||
|
||||
val longInput = "0123456789ABC"
|
||||
|
||||
Reference in New Issue
Block a user