我非常想弄清楚为什么正则表达式不匹配。任何帮助深表感谢。我将逐行浏览网页(效果很好),但我需要提取每一行的链接。该应用程序将检查行中是否有链接,但我需要实际提取 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)
即使“结果”中有一个链接引用 (hxxp://www.yahoo.com)。
links 是一个 ArrayList fyi。提前致谢!
最佳答案
第一次通话
m.find();
或
m.matches();
如果匹配器成功,您就可以使用 m.group()
。
关于Java 正则表达式在行中找到模式时找不到匹配项抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22633951/