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

标签 java regex matcher

我非常想弄清楚为什么正则表达式不匹配。任何帮助深表感谢。我将逐行浏览网页(效果很好),但我需要提取每一行的链接。该应用程序将检查行中是否有链接,但我需要实际提取 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/

相关文章:

java - 尝试使用 Eclipse 编译 Hello World 时出现问题

java - java中有类似PushSharp的应用吗?

Java//与RegExp和方括号不匹配

regex - grep : Regex for IP doesnt match

Java正则表达式提取两个字符串之间的特殊字符串

clang - 特定节点上的 AST 匹配器

java - 在 appengine 上维护开发和实时站点

java - 改进 CoreNLP 词性标注器和 NER 标注器?

php - 删除与 php 匹配模式的类

java - 如何获取字符串中正则表达式的第一个匹配项?