Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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:Regex表达式以匹配FTP响应代码_Java_Regex_Ftp - Fatal编程技术网

Java:Regex表达式以匹配FTP响应代码

Java:Regex表达式以匹配FTP响应代码,java,regex,ftp,Java,Regex,Ftp,我正在用JAVA创建一个FTP客户端,不使用任何FTP库,我想通过使用正则表达式知道FTP响应何时完成,以便知道何时停止读取。因此,我试图创建一个正则表达式,查找任意三位数字和一个空格,这样我就可以告诉我的程序停止读取连接中的行 以下是我目前拥有的:response.matches(“^[0-9][0-9][0-9](?:\\s)”) 它应该捕获这样的代码:“230进程完成”,或“543祝您愉快!”,但不是像“400-还有更多内容要读…” 任何帮助都将不胜感激 String response=“

我正在用JAVA创建一个FTP客户端,不使用任何FTP库,我想通过使用正则表达式知道FTP响应何时完成,以便知道何时停止读取。因此,我试图创建一个正则表达式,查找任意三位数字和一个空格,这样我就可以告诉我的程序停止读取连接中的行

以下是我目前拥有的:
response.matches(“^[0-9][0-9][0-9](?:\\s)”)

它应该捕获这样的代码:
“230进程完成”
,或
“543祝您愉快!”
,但不是像
“400-还有更多内容要读…”

任何帮助都将不胜感激

String response=“543祝您愉快!”;
Pattern=Pattern.compile(“(\\d{3})([\\w!]+)”;
Matcher-Matcher=pattern.Matcher(响应);
if(matcher.find()){
System.out.println(“代码:+matcher.group(1));
System.out.println(“消息:+matcher.group(2));
}否则{
System.out.println(“代码无法识别”);
}
输出:

code: 543
message: Have a nice day!

由于使用的是
匹配(…)
,因此正则表达式必须匹配整行(这也使得
^
冗余)。使用
匹配(“[0-9]{3}\\s.*)
或使用
Matcher
上的
find()
方法。谢谢!这就是我要找的