Java 中正则表达式如何匹配竖线(|)
在Java中直接调用String的split方法:
val b = java.lang.String(a)
val s3 = b.split("...|") // ["a","b","c","|","1","2","3","4"]
println(JSON.toJSONString(s3))
因为 | 在正则表达式中是或的概念,要想匹配就得用转移字符..."|" 但是 "" 又是java的转移字符,要让其在正则中起作用,就得使用: "\|"
val b = java.lang.String(a)
val s3 = b.split(...中的 split 方法设计简直就是一个"天坑"(天然的坑): 如果不看实现代码,很容易犯错.
public String[] split(String regex) {
return....toArray(result);
}
return Pattern.compile(regex).split(this, limit);
}
在Kotlin 中,