Я пытаюсь сопоставить ссылку привязки, которая является "тройным экранированием" в этом примере строки:
blablabla some text <a href=\\\"#anchor\\\"> some more text
Это мое регулярное выражение:
href=(\\\\\\)(\"#.*)(\\\\\\)\"
Если я тестирую его на regex101.com , он работает, но мне нужно выполнить эту фильтрацию в 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), она будет автоматически экранирована еще больше, но она не будет работать. Если я отредактирую его так, чтобы он соответствовал приведенной выше строке, он будет жаловаться на то, что есть незамкнутая группа. Я подумал, что, может быть, мог бы выразить это в тройных кавычках, чтобы не убегать от символов, но это тоже не удалось. Что я делаю неправильно?