Поддержка групп Kotlin Regex

Поддерживает ли Kotlin поддержку названных групп регулярных выражений?

Именованная группа регулярных выражений выглядит следующим образом: (?<name>...)

Начиная с Kotlin 1.0 класс Regex не предоставляет способ доступа к сопоставленным именованным группам в MatchGroupCollection потому что стандартная библиотека может использовать только регулярное выражение api, доступное в JDK6, которое также не поддерживает именованные группы.

Если вы нацеливаете JDK8, вы можете использовать классы java.util.regex.Pattern и java.util.regex.Matcher . Последний предоставляет group метод для получения результата сопоставления группы с именем-capture.

Согласно этой дискуссии ,

Это будет поддержано в Kotlin 1.1. https://youtrack.jetbrains.com/issue/KT-12753

Kotlin 1.1 EAP уже доступен, чтобы попробовать.


 """(\w+?)(?<num>\d+)""".toRegex().matchEntire("area51")!!.groups["num"]!!.value 

Вам нужно будет использовать kotlin-stdlib-jre8 .