Java:Regex表达式以匹配FTP响应代码
我正在用JAVA创建一个FTP客户端,不使用任何FTP库,我想通过使用正则表达式知道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=“
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()
方法。谢谢!这就是我要找的