如何在 kotlin 正则表达式语句中使用正则表达式开始标记 (^)



如何检查字符串是否包含 Kotlin 中的给定正则表达式并以给定的正则表达式开头?

我以为我可以做:

fun main(args: Array<String>) {
var text = "test string"
val regex = Regex.fromLiteral("^test")
val matches: Boolean = text.contains(regex)
assert(matches)
}

但这行不通。它按预期工作,没有 ^。即使做matchesfind,或者像containsMatchIn这样的正则表达式运算符似乎不起作用。

我错过了一些明显的东西吗?也许我不能使用起始边界,或者我不应该使用它。

注意:我知道 startsWith 但这不允许我使用正则表达式。我想使用正则表达式,因为我的代码具有比"测试字符串"更复杂的字符串。

Regex.fromLiteral("^test")生成一个^test正则表达式,该正则表达式在迭代^test子字符串上匹配。检查Regex.fromLiteral()文档:

返回指定文本字符串的文本正则表达式。

你只需要用字符串文字制作一个正则表达式,使用

val regex = """^test""".toRegex()

请参阅 Kotlin 演示。

最新更新