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

用法:

fun find(
    input: CharSequence, 
    startIndex: Int = 0
): MatchResult?

返回 input 中正则表达式的第一个匹配项,从指定的 startIndex 开始。

例子:



fun main(args: Array<String>) {
//sampleStart
val inputString = "to be or not to be"
val regex = "to \\w{2}".toRegex()
// If there is matching string, then find method returns non-null MatchResult
val match = regex.find(inputString)!!
println(match.value) // to be
println(match.range) // 0..4

val nextMatch = match.next()!!
println(nextMatch.range) // 13..17

val regex2 = "this".toRegex()
// If there is no matching string, then find method returns null
println(regex2.find(inputString)) // null

val regex3 = regex
// to be or not to be
//              ^^^^^
// Because the search starts from the index 2, it finds the last "to be".
println(regex3.find(inputString, 2)!!.range) // 13..17
//sampleEnd
}

输出:

to be
0..4
13..17
null
13..17

参数

startIndex- 开始搜索的索引,默认为 0。必须不小于 0 且不大于input.length()

异常

IndexOutOfBoundsException- 如果开始索引小于零或大于长度输入字符序列。

如果找到匹配项,则返回 MatchResult 的实例,否则返回 null