给出以下字符串:
"foo.bar.baz"
它可以拆分在'点'使用Java String split很容易:
split("foo.bar.baz", "\.")
但是,如果我想保留点,如果它后面紧跟另一个点,那么正则表达式是什么:
"foo.bar.baz..raz..daz.faz" → "foo" "bar" "baz..raz..daz" "faz"
答案 0 :(得分:7)
这个正则表达式可行:
s.split("(?<!\\.)\\.(?!\\.)");
我们的想法是使用否定前瞻只能在"."
处拆分,而不是跟随或先于另一个点。