如何使用正则表达式在Kotlin中查找整个单词

泰亨

我想找到整个单词的字符串。但是我不知道如何在kotlin中找到所有单词。我的发现词是[非alpha] cba [非alpha]。我的示例代码是波纹管。

val testLink3 = """cba@cba cba"""
val word = "cba"
val matcher = "\\b[^a-zA-Z]*(?i)$word[^a-zA-Z]*\\b".toRegex()
val ret = matcher.find(testLink3)?.groupValues

但是我的源代码输出是“ cba”。我的期望值是字符串数组,例如“ {cba,cba,cba}”。如何用Kotlin语言找到此值。

维克多·史翠比维

您可以使用

val testLink3 = """cBa@Cba cbA123"""
val word = "cba"
val matcher = "(?i)(?<!\\p{L})$word(?!\\p{L})".toRegex()
println(matcher.findAll(testLink3).map{it.value}.toList() )
println(matcher.findAll(testLink3).count() )
// => [cBa, Cba, cbA]
// => 3

请参阅在线Kotlin演示

要获取匹配列表,您需要findAll在regex对象上运行方法,将结果映射到值并转换为列表:

.findAll(testLink3).map{it.value}.toList()

要计算比赛次数,您可以使用

matcher.findAll(testLink3).count()

正则表达式演示

  • (?i) -不区分大小写的修饰符
  • (?<!\\p{L}) -如果当前位置左侧紧跟着一个字母,则负向后搜索将使匹配失败
  • $word-您的word可变值
  • (?!\\p{L}) -如果当前位置右侧紧邻有字母,则匹配失败的否定前行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何否定正则表达式中的整个单词

如何使用正则表达式查找匹配的单词?

如何使用正则表达式中的变量增加python中的整个单词匹配

在正则表达式中查找整个单词包括 C# 中的 url

如何使用正则表达式在字符串中查找单词

如何使用正则表达式(Python)从字符串中查找多个单词?

正则表达式可在文本中查找整个单词,但不区分大小写

python正则表达式中的整个单词

使用正则表达式排除整个单词

如何仅使用正则表达式从日志消息中使用正则表达式来查找正则表达式整个行?

正则表达式 - 使用正则表达式查找 2 个或更多单词

Java正则表达式:如何在较长的单词中查找短单词

忽略正则表达式中的单词(超前查找)

在链接正则表达式中查找单词

使用正则表达式查找大写单词

使用正则表达式查找单词列表

如何在 Python 中使用正则表达式动态匹配整个单词

使用正则表达式匹配整个句子后如何匹配一些单词?

使用动态正则表达式匹配字符串中的整个单词

使用正则表达式在Notepad ++中搜索包含特定关键字的整个单词

正则表达式:如何使用正则表达式从句子中删除英语单词?

如何使用正则表达式在字符串中查找单词的“片断”并在python中使用它?

如何在python中使用正则表达式在字符串列表中查找单词

如何使用python正则表达式查找和替换句子中第n个出现的单词?

使用正则表达式在正则表达式中查找正则表达式点

如何使用正则表达式搜索unicode文本并查找包含重复字母的单词?

如何使用Golang正则表达式查找完全匹配的单词?

如何在python中使用正则表达式在标签之间查找单词?

如何在python中使用正则表达式查找某些单词?