Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何制作将行分成单词的正则表达式_Java_Regex - Fatal编程技术网

Java 如何制作将行分成单词的正则表达式

Java 如何制作将行分成单词的正则表达式,java,regex,Java,Regex,请告诉我如何用正则表达式来分隔单词。 假设有一个字符串 String s = "I have dog, cat, gold fishes. My cat eats : milk, fish, etc.." 我需要基于字符串的字符串数组 String[] words = s.split(regexp) [我,有,狗,猫,金,鱼,我的,猫,吃,牛奶,鱼等] 因此正则表达式必须忽略空格和标点符号(点、逗号、、!)这应该可以: String[] wo

请告诉我如何用正则表达式来分隔单词。 假设有一个字符串

String s = "I have   dog, cat,    gold       fishes.    My cat   eats :      milk,    fish, etc.."
我需要基于字符串的字符串数组

 String[] words = s.split(regexp)
[我,有,狗,猫,金,鱼,我的,猫,吃,牛奶,鱼等]

因此正则表达式必须忽略空格和标点符号(点、逗号、、!)

这应该可以:

String[] words = s.split("[\\s,.:]+");
要包含所有标点符号,请使用
\p{Punct}

String[] words = s.split("[\\s\\p{Punct}]+");

这是一项非常简单的任务,如果你阅读了关于正则表达式的基本教程,你会在两分钟内找到答案。建议:使用find方法更容易。您不需要(也不应该)在character类中转义
<代码>“[\\s,.:]+”就足够了。@Pshemo我错过了。谢谢你的提示。