正则表达式String sentence The quick brown fox... jumps over the lazy dog?; String[] words sentence.split(\\W); // \\W怎么理解 /*打印words会输出 The quick brown fox jumps over the lazy dog */在 Java 中使用split()方法处理字符串时这个表达式的作用是寻找并匹配所有“非单词字符”作为拆分的间隔点。我们可以把这段代码拆解开来看\W(大写 W): 这是一个特殊的元字符代表“任何非单词字符”。在正则表达式中单词字符通常指的是字母a-z, A-Z、数字0-9和下划线_。因此\W会匹配空格、标点符号如...、?、,、感叹号等任何不是字母或数字的符号。: 这是一个修饰符表示“一次或多次”。它意味着如果连续出现多个非单词字符比如句子里的...或者空格加标点程序会将它们看作是一个整体而不是把每一个符号都拆开。\\W中的双反斜杠\\: 在 Java 字符串中反斜杠\是转义字符。为了表示正则表达式里的\W我们需要用另一个反斜杠额外转义一下所以写成\\W。举个例子如果你有一个句子Hello!!!World当你用\\W去拆分时!!!会被识别为一组“非单词字符”。程序会以!!!为界限将原始字符串拆分成Hello和World两个部分。总结逻辑使用sentence.split(\\W)的逻辑就是“帮我把这个句子里所有的标点符号、空格等‘非单词’的部分全部删掉并以这些位置为切割点把句子拆分成一个个纯粹的单词数组。”