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