Java Pattern&匹配器 - 如果起始字符是“不能提取模式”

时间:2016-01-30 22:04:05

标签: java

我正在尝试从字符串中提取URL: "http://cdn.posh24.com/images/:profile/0a749b802defbf357e7ccf1361ccabef5" alt="Rita Ora"

我已经创建了以下方法。我的意图是模式是第一个\"到第二个\"内的所有内容,因此我只提取上面字符串中的URL。但是我总是得到一个'目前没有成功匹配'错误。

public String extractImagePattern(String string) {
    String localImageResult = "";
    try {
        Pattern p = Pattern.compile("\"(.*?)\" alt");
        Matcher m = p.matcher(string);
        localImageResult = m.group(1);

    } catch (IllegalStateException e) {

        e.printStackTrace();

    }
    return localImageResult;

}

我做错了什么?

1 个答案:

答案 0 :(得分:1)

在制作匹配器之后,您需要拨打find()(因此它实际上会尝试匹配),然后再致电group()以从找到的匹配中获取该组。

来自find()的文档:

  

如果匹配成功,则可以通过开始,结束和方法获取更多信息。