为什么< [^>] *>不是正则表达式

时间:2013-09-27 17:14:13

标签: java regex

我想要

<hello@yellow.com>

来自

asdasdasdasdasdadasdsad<hello@yellow.com>asdasdasdasdasd 

来自以下方法:

private String extractInvalidEmailAddress(String message) {
    Pattern pattern = Pattern.compile("<[^>]*>");
    Matcher matcher = pattern.matcher(message);
    matcher.find();
    message = matcher.group();

    return message;
}

但我得到的只是null!我需要做些什么才能获得hello@yellow.com

3 个答案:

答案 0 :(得分:2)

应该有用。你可以试试这个1班轮方法,它与你的长代码做同样的工作:

private String extractInvalidEmailAddress(String message) {
    return message.replaceAll("^.*?(<[^>]*>).*$", "$1");
}

答案 1 :(得分:0)

试试这个:

Pattern pattern = Pattern.compile("<.*?>");

答案 2 :(得分:0)

正如其他人所说,这种方法是正确的。您似乎将null值传递给此方法。我会设置一个调试点来找出你的应用程序中发生了什么。