需要有关正则表达式的帮助以在错误堆栈中检索电子邮件ID,例如“某些文本,某些文本换行符等”。
已尝试使用堆栈溢出中提供的一些建议。但是他们中的大多数只打印错误
以下是我尝试过的一些选项,
Matcher m = Pattern.compile("\\<([^>]+)\\)").matcher(e.getMessage());
while(m.find())
{
System.out.println(m.group(1));
}
System.out.println(e.getMessage().split("<(<^>>+)>"));
exception.getMessage().split("\\[([^]]+)\\]")
exception.getMessage().split("\\<\"(.*?)\"\\>")
exception.getMessage().split("<(<^>>+)>")
实际结果字符串数组仅包含一个值,并按如下方式打印整个堆栈,
Failed messages: javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
com.sun.mail.smtp.SMTPAddressFailedException: 550 5.0.0 <abc@def.com>... User unknown
;
nested exception is:
com.sun.mail.smtp.SMTPAddressFailedException: 550 5.0.0 <def@ghi.com>... User unknown
;
PS:电子邮件 ID 中没有 \。堆栈溢出不接受后跟<的字符。所以在此之前添加了转义字符。
qq_遁去的一_1
吃鸡游戏
相关分类