当在模式中找到模式时,Java正则表达式抛出异常,找不到匹配项

我很想弄清楚为什么正则表达式不匹配.任何帮助深表感谢.我将逐行浏览网页(工作正常),但我需要为每一行提取链接.应用程序将检查该行中是否有链接,但我需要实际提取URL.救命?

Pattern p = Pattern.compile("^.*href=\"([^\"]*)");
Matcher m = p.matcher(result);
String urlStr = m.group();
links.add(urlStr);

我一直得到的错误信息是这样的:

Exception in thread "main" java.lang.IllegalStateException: No match found
at java.util.regex.Matcher.group(Matcher.java:485)

即使’result’中有一个链接引用(hxxp://www.yahoo.com).

links是一个ArrayList fyi.提前致谢!

最佳答案
第一次打电话

m.find();

要么

m.matches();

如果匹配器成功,你将能够使用m.group().

转载注明原文:当在模式中找到模式时,Java正则表达式抛出异常,找不到匹配项 - 代码日志