Kotlinは名前付き正規表現グループをサポートしていますか?
名前付き正規表現グループは次のようになります:(?<name>...)
この議論 によると、
これはKotlin1.1でサポートされます。 https://youtrack.jetbrains.com/issue/KT-1275
Kotlin 1.1 EAP はすでに試用可能です。
"""(\w+?)(?<num>\d+)""".toRegex().matchEntire("area51")!!.groups["num"]!!.value
あなたはしなければならないでしょう 使用kotlin-stdlib-jre8
。
Kotlin 1.0以降、標準ライブラリはJDK6で利用可能な正規表現APIのみを使用できるため、Regex
クラスはMatchGroupCollection
内の一致する名前付きグループにアクセスする方法を提供しません。名前付きグループのいずれか。
JDK8をターゲットにする場合は、Java.util.regex.Pattern
クラスとJava.util.regex.Matcher
クラスを使用できます。後者は、名前付きキャプチャグループの一致の結果を取得するための group
メソッドを提供します。