正则表达式 - 试图匹配 / \ | , 或换行符,错误表示转义字符无效

Regex - trying to match / \ | , or newline, error says invalid escape character

我实际上是在尝试根据以下任何一项拆分字符串:

这是我正在使用的正则表达式,它给出了 'invalid escape character' 错误:

String delims = "[\\\|\/\n,]+"; 
String[] list1 = str1.split(delims);

我已经尝试了几个版本,试图获得正确的 \ 数。正确的做法是什么?

"[/\|\n,\\]+"

其中有些需要双转义

/ matches /
\| matches |
\n matches new line
, matches ,
\\ matches \

要在正则表达式引擎中创建 \ 文字,您需要在字符串中使用四个 \ 编写它,因此您有一个 \ extra

"[\\\|\/\n,]+"; 
  1234^ 
      here

此外,您不需要在 Java 正则表达式引擎中转义 /,也不需要将 \n 作为 \n (\n 文字也将被接受)你可以尝试使用

String delims = "[\\|/\n,]+";