Java 有一个单词+;空格作为分隔符

Java 有一个单词+;空格作为分隔符,java,regex,string,Java,Regex,String,我正在尝试使用具有以下语法的split函数将字符串“您好!我很好!”拆分为字符串数组 String[] i = "HI. HOW ARE YOU? I AM FINE! ".split("[\\. |? |! ]+"); 预期产量 嗨 你好吗 我很好 但在intellij中,它表示“重复字符文字”,并将空格视为单独的分隔符 我如何确保它使用句号加空格、问号加空格和感叹号加空格,而不将空格作为单独的分隔符? 哪个是正确的正则表达式? 如果没有正则表达式也能

我正在尝试使用具有以下语法的split函数将字符串“
您好!我很好!
”拆分为字符串数组

String[] i = "HI. HOW ARE YOU? I AM FINE! ".split("[\\. |? |! ]+");
预期产量

你好吗

我很好

但在intellij中,它表示“重复字符文字”,并将空格视为单独的分隔符

我如何确保它使用句号加空格、问号加空格和感叹号加空格,而不将空格作为单独的分隔符? 哪个是正确的正则表达式? 如果没有正则表达式也能实现,那也没关系


谢谢。

更好的模式是

"[?!.]\\s*"

至于您得到的错误,那是因为
|
操作符在字符类中不起作用。如果希望模式正常工作,请将方括号
[…]
更改为括号
(…)

预期输出是什么?如果您有
“嗨…你好吗???我很好!!!”