Regex 科特林:可以';t解析包含多个反斜杠的正则表达式-为什么我有一个;未关闭的组“;?

Regex 科特林:可以';t解析包含多个反斜杠的正则表达式-为什么我有一个;未关闭的组“;?,regex,parsing,kotlin,Regex,Parsing,Kotlin,我试图匹配此字符串示例中“三重转义”的锚链: bla一些文本它可以工作,但我需要在Kotlin中进行过滤,我想我可以这样做: fun findEscapedAnchors(text: String): String { val pattern = "href=(\\\\\\)(\"#.*)(\\\\\\)\"" val regex = pattern.toRegex() val matches = regex.find(text) // do something

我试图匹配此字符串示例中“三重转义”的锚链:

bla一些文本它可以工作,但我需要在Kotlin中进行过滤,我想我可以这样做:

fun findEscapedAnchors(text: String): String {
    val pattern = "href=(\\\\\\)(\"#.*)(\\\\\\)\""
    val regex = pattern.toRegex()
    val matches = regex.find(text)

    // do something with the matches
}

首先,如果我将这个字符串粘贴到我的代码中(在Android Studio中),它会自动转义更多,但它不起作用。如果我编辑它以匹配上面的字符串,它会抱怨有一个未关闭的组。我想我可以把它放在三个引号里,不必转义字符,但这也失败了。我做错了什么

我自己已经弄明白了:一个原始字符串(三重引号)确实是一种方法,但是
Regex
显然仍然需要字符串中的字符转义。以前,我把它们去掉了,因为我认为这就是原始弦的工作原理,但我错了。因此,它现在适用于:

val regex = """href=(\\\\\\)(\"#.*)(\\\\\\)\"""".toRegex()