destructured

An instance of MatchResult.Destructured wrapper providing components for destructuring assignment of group values.

component1 corresponds to the value of the first group, component2 — of the second, and so on.

Since Kotlin

1.0

Samples


fun main() { 
   //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
}