public class SplitString {
public static String[] f(String s)
{
return s.split("\\+|\\-|\\/|\\*|\\\\");
}
public static void main(String[] args)
{
System.out.println("12+35*5-2*18/9-3\\6");
String[] res = f("12+35*5-2*18/9-3\\6");
int i =0;
for(String r:res){
System.out.println(r);
}
}
}
输出:
12+35*5-2*18/9-3\6
12
35
5
2
18
9
3
6
由此可见,我们这样理解在字符串中,两个反斜杠被解释为一个反斜杠,然后在作为正则表达式, \\ 则被正则表达式引擎解释为 \,因此在正则表达式中需要使用四个反斜杠。
也就是说,前两个反斜杠在字符串中被解释为一个反斜杠,后两个也被解释为一个反斜杠,这时解释完毕后变成两个反斜杠,再由正则表达式解释两个反斜杠,就又解释成了一个反斜杠,所以,在正则表达式中要匹配一个反斜杠时,需要四个反斜杠。
注意,要匹配正则表达式时,需要在之前加上一个反斜杠。