分裂为","但不是"\"

Dav*_*ard 0 java regex csv parsing

我正在寻找一个匹配的正则表达式,,\,在Java的正则表达式引擎中忽略.这很接近:

[^\\],
Run Code Online (Sandbox Code Playgroud)

但是,它匹配前一个字符(除了逗号),这将不起作用.

也许正则表达式方法完全是错误的.我打算使用String.split()转义逗号来解析一个简单的CSV文件(不能使用外部库).

Roh*_*ain 7

你需要一个负面的后视断言:

String[] arr = str.split("(?<![^\\\\]\\\\),");
Run Code Online (Sandbox Code Playgroud)

请注意,那里需要4个反斜杠.首先转义Java字符串文字的反斜杠.然后再次逃避正则表达式的反斜杠.