Java正则表达式解释

时间:2012-05-20 23:31:36

标签: java regex

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);
        }
    }
}

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

1 个答案:

答案 0 :(得分:6)

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

这是因为'\'是一个特殊字符。你必须看到"\n"曾经意味着换行吗?因此,要将字面\放入字符串中,请使用"\\"

例如,试试System.out.println("Here\'s a backslash : \\")

这将打印: Here's a backslash : \