如何检查字符串是否包含 Kotlin 中的给定正则表达式并以给定的正则表达式开头?
我以为我可以做:
fun main(args: Array<String>) {
var text = "test string"
val regex = Regex.fromLiteral("^test")
val matches: Boolean = text.contains(regex)
assert(matches)
}
但这行不通。它按预期工作,没有 ^。即使做matches
或find
,或者像containsMatchIn这样的正则表达式运算符似乎不起作用。
我错过了一些明显的东西吗?也许我不能使用起始边界,或者我不应该使用它。
注意:我知道 startsWith 但这不允许我使用正则表达式。我想使用正则表达式,因为我的代码具有比"测试字符串"更复杂的字符串。
Regex.fromLiteral("^test")
生成一个^test
正则表达式,该正则表达式在迭代^test
子字符串上匹配。检查Regex.fromLiteral()
文档:
返回指定文本字符串的文本正则表达式。
你只需要用字符串文字制作一个正则表达式,使用
val regex = """^test""".toRegex()
请参阅 Kotlin 演示。