我正在寻找一个正则表达式来匹配,
但\,
在 Java 的正则表达式引擎中被忽略。这很接近:
[^\\],
但是,它匹配前一个字符(除了逗号),这是行不通的。
也许正则表达式方法完全是错误的。我打算String.split()
用转义逗号来解析一个简单的 CSV 文件(不能使用外部库)。
你需要一个否定的后视断言:
String[] arr = str.split("(?<![^\\\\]\\\\),");
请注意,您需要 4 个反斜杠。首先转义 Java 字符串文字的反斜杠。然后再次转义正则表达式的两个反斜杠。