给定以下字符串:
"foo.bar.baz"
使用 Java String split 可以很容易地在“点”上分割它:
split("foo.bar.baz", "\.")
但是,如果我想保留该点(如果它后面紧跟着另一个点),那么正则表达式是什么:
"foo.bar.baz..raz..daz.faz" → "foo" "bar" "baz..raz..daz" "faz"
最佳答案
这个正则表达式可以工作:
s.split("(?<!\\.)\\.(?!\\.)");
这个想法是使用负向先行仅在 "."
处进行分割,其后面或前面没有另一个点。
关于java - 当且仅当前后字符不是 'dot' 时,如何在 'dot' 上拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36560684/