Java正则表达式理解

Java正则表达式理解,java,regex,Java,Regex,我需要帮助来理解正则表达式。出于某种原因,我在这里阅读了大量关于软件的教程和问题,但无法理解。我想使用String.split函数,如下所示:。但我不能理解这一部分: String[] parts = input.split("[,\\s\\-:\\?]"); 让我们假设我想用以下分隔符进行拆分:“(空格),”(句号),“,”(昏迷),“!”,“»”和“~”,等等。我如何用正则表达式得到这个结果?我想了解这里的字符:(“[,\s\-:\?]”)是什么。“\s”是什么,为什么需要它。\s是“任何

我需要帮助来理解正则表达式。出于某种原因,我在这里阅读了大量关于软件的教程和问题,但无法理解。我想使用
String.split
函数,如下所示:。但我不能理解这一部分:

String[] parts = input.split("[,\\s\\-:\\?]");
让我们假设我想用以下分隔符进行拆分:“(空格),”(句号),“,”(昏迷),“!”,“»”和“~”,等等。我如何用正则表达式得到这个结果?我想了解这里的字符:(“[,\s\-:\?]”)是什么。“\s”是什么,为什么需要它。

\s
是“任何单个空白字符”。因此,它表示一个空格、换行符、制表符或其他类似内容

注意,在这种情况下,regex实际上可以编写得更紧凑:

String[] parts = input.split("[,\\s:?-]");
[]
内部时不需要转义,
-
如果是最后一件事,也不需要转义。)


有关字符类的更多详细信息,请参阅

我建议您使用此网站测试正则表达式:。它还为模式本身提供了解释。