Java 正则表达式-尝试匹配/\ \或换行符时,错误表示转义字符无效
实际上,我正在尝试拆分以下任意一个字符串:Java 正则表达式-尝试匹配/\ \或换行符时,错误表示转义字符无效,java,regex,escaping,string-matching,Java,Regex,Escaping,String Matching,实际上,我正在尝试拆分以下任意一个字符串: / \ | , \n 下面是我使用的正则表达式,它给出了“无效转义字符”错误: String delims = "[\\\\\|\\/\\n,]+"; String[] list1 = str1.split(delims); 我尝试了更多的版本,试图得到正确的数量。正确的方法是什么 "[/\\|\n,\\\\]+" 其中一些你需要加倍逃跑 / matches / \\| matches | \n matches new line , matc
- /
- \
- |
- ,
- \n
String delims = "[\\\\\|\\/\\n,]+";
String[] list1 = str1.split(delims);
我尝试了更多的版本,试图得到正确的数量。正确的方法是什么
"[/\\|\n,\\\\]+"
其中一些你需要加倍逃跑
/ matches /
\\| matches |
\n matches new line
, matches ,
\\\\ matches \
要在正则表达式引擎中创建
\
文本,您需要用四个\
字符串来编写它,这样您就有了一个\
额外的字符串
"[\\\\\|\\/\\n,]+";
1234^
here
另外,您不需要在Java正则表达式引擎中转义/
,也不需要将\n
传递为\\n
(\n
文本也将被接受),您可以这样尝试
String delims = "[\\\\|/\n,]+";
查看字符串文本和有效的转义序列。
|
不需要在[…]
中转义,这是可以接受的,但它会让人们感到困惑,并让他们怀疑是否必须在此上下文中使用它。