Java正则表达式解释

Java正则表达式解释,java,regex,Java,Regex,拆分器可以是逗号或空格,也可以是任意数目的组合。我认为它的正则表达式应该是[,\s]+。为什么在示例中有一个额外的反斜杠 额外的\是为了避开下一个反斜杠。在任何Java字符串中,“\\”表示“\” 这是因为'\'是一个特殊字符。您一定见过“\n”用来表示换行,对吗?因此,要将文本\放入字符串中,您可以使用“\\” 例如,尝试System.out.println(“这里有一个反斜杠:\\”) 这将打印: 这里有一个反斜杠:\请不要发布文本截图。改为发布文本。您可以使用StringTokenizer

拆分器可以是逗号或空格,也可以是任意数目的组合。我认为它的正则表达式应该是
[,\s]+
。为什么在示例中有一个额外的反斜杠

额外的
\
是为了避开下一个反斜杠。在任何Java字符串中,
“\\”
表示
“\”

这是因为
'\'
是一个特殊字符。您一定见过
“\n”
用来表示换行,对吗?因此,要将文本
\
放入字符串中,您可以使用
“\\”

例如,尝试
System.out.println(“这里有一个反斜杠:\\”)

这将打印:
这里有一个反斜杠:\

请不要发布文本截图。改为发布文本。您可以使用StringTokenizer。这是什么样的提问?是否要阻止可能的帮助者剪切和粘贴您的代码以测试/改进它?@Vipar StringTokenizer实际上已被弃用,而支持拆分。可能的重复说明为什么第一个反斜杠在输出中消失了?@TerryLiYifeng
\'
表示字符
'
。字符
'
不需要在字符串中转义,但
\'
表示
'
。试试看。
import java.util.regex.*;

public class Splitter {
    public static void main(String[] args) throws Exception {
        Pattern p = Pattern.compile("[,\\s]+");
        String[] results = p.split("one,two, three   four ,  five");
        for (String result : results) {
            System.out.println(result);
        }
    }
}