我正在寻找匹配,
的正则表达式,但忽略Java的正则表达式引擎中的\,
。这很接近:
[^\\],
但是,它匹配前一个字符(除逗号外),这将无效。
也许正则表达式方法完全是错误的。我打算使用String.split()
来解析带有转义逗号的简单CSV文件(不能使用外部库)。
答案 0 :(得分:7)
您需要negative look-behind assertion:
String[] arr = str.split("(?<![^\\\\]\\\\),");
请注意,那里需要4个反斜杠。首先转义Java字符串文字的反斜杠。然后再次逃避正则表达式的反斜杠。