MatchResult.groupValues所在位置是kotlin.text.MatchResult.groupValues,其相关用法介绍如下。

用法:

abstract val groupValues: List<String>

匹配的索引组值的列表。

该列表的大小为groupCount + 1,其中groupCount 是正则表达式中的组数。组的索引从 1 到 groupCount,索引为 0 的组对应于整个匹配。

如果正则表达式中的组是可选的,并且该组没有捕获到匹配项,则groupValues 中的对应项为空字符串。

例子:



fun main(args: Array<String>) {
//sampleStart
val inputString = "John 9731879"
val match = Regex("(\\w+) (\\d+)").find(inputString)!!
val (name, phone) = match.destructured

println(name) // John     // value of the first group matched by \w+
println(phone) // 9731879 // value of the second group matched by \d+

// group with the zero index is the whole substring matched by the regular expression
println(match.groupValues) // [John 9731879, John, 9731879]

val numberedGroupValues = match.destructured.toList()
// destructured group values only contain values of the groups, excluding the zeroth group.
println(numberedGroupValues) // [John, 9731879]
//sampleEnd
}

输出:

John
9731879
[John 9731879, John, 9731879]
[John, 9731879]