Destructured
class DestructuredProvides components for destructuring assignment of group values.
component1 corresponds to the value of the first group, component2 — of the second, and so on.
If the group in the regular expression is optional and there were no match captured by that group, corresponding component value is an empty string.
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
}Properties
match
val match: MatchResultFunctions
component1
operator fun component1(): Stringcomponent10
operator fun component10(): Stringcomponent2
operator fun component2(): Stringcomponent3
operator fun component3(): Stringcomponent4
operator fun component4(): Stringcomponent5
operator fun component5(): Stringcomponent6
operator fun component6(): Stringcomponent7
operator fun component7(): Stringcomponent8
operator fun component8(): Stringcomponent9
operator fun component9(): String