这是使用Kotlin的Regex类
val line = "xtest_hh_j_h"
val regex = Regex("test_(.*)_j")
val matchEntire = regex.matchEntire(line)
println(matchEntire?.groupValues?.get(0))//输出为test_hh_j
println(matchEntire?.groupValues?.get(1))//输出为 hh
下面这是使用Java的正则类:
// 按指定模式在字符串查找
val line = "xtest_hh_j_h"
val pattern = "test_(.*)_j"
// 创建 Pattern 对象
val r = Pattern.compile(pattern)
// 现在创建 matcher 对象
val m = r.matcher(line)
if (m.find()) {
//m.group的长度 为 正则条件数+1
//上述存在有(.*)的1个正则条件,所有m.group的长度为2,下标从0开始,如果打印m.group(3)就会报异常
println("Found value: " + m.group(0)) //结果为test_hh_j
println("Found value: " + m.group(1)) //结果为hh
} else {
println("NO MATCH")
}
评论区