Kotlin正则表达式边界匹配不起作用

时间:2019-05-01 00:28:37

标签: regex kotlin regular-language

我正在尝试解析一个单词,该单词的两边都是空格或标点符号。

我尝试过:


fun main(args: Array<String>) {
    val regex = "\bval\b".toRegex();
    regex.matches("fn foo() { val x = 2;} x;").also { println(it) }
}

但是打印出来的是假的。我在https://regex101.com/r/vNBefF/2处测试了正则表达式,它可以与输入字符串匹配。

我在做什么错?

1 个答案:

答案 0 :(得分:2)

我认为您使用的方法错误。来自KotlinDoc

  

指示正则表达式是否与整个输入匹配。

我认为您可能想要的是containsMatchIn。您可以在playground上玩这个游戏。