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]