java - 创建java正则表达式来获取href链接

标签 java html regex href inverse

抱歉,如果之前有人问过这个问题,但我在网上找不到任何答案。我很难弄清楚这个正则表达式的逆:

"\"[^>]*\">"

我想使用 replaceAll 替换链接以外的所有内容。所以如果我有一个类似于这样的标签:

<p><a href="http://www.google.com">Google</a></p>

我需要一个满足这个条件的正则表达式:

s.replaceAll(regex, "");

给我这个输出:

http://www.google.com

我知道有更好的方法可以做到这一点,但我必须使用正则表达式。非常感谢任何帮助,谢谢!

最佳答案

您不必使用 replaceAll。更好地使用如下模式组:

Pattern p = Pattern.compile("href=\"(.*?)\"");
Matcher m = p.matcher(html);
String url = null;
if (m.find()) {
    url = m.group(1); // this variable should contain the link URL
}

如果您的 HTML 中有多个链接,请在循环中执行 m.find()

关于java - 创建java正则表达式来获取href链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8307839/

相关文章:

java - JFrame 关闭时外部应用程序关闭

html - CSS Grid 的高度大于它的容器 div

regex - 如果用户在 Django 的表单字段中仅输入空格,捕获并显示错误的最佳方法是什么?

ios - 在 Swift 中使用正则表达式验证 RGB 字符串

java - 为什么我看到两个河豚实现之间存在不一致?

java - 无法在java中解析从星期三到星期四的正确总小时数

java - Java 数组中的 ArrayStoreException

javascript - 根据用户输入打印 for 循环

html - 当上下文转换到中心时,沿 Canvas 弧线的渐变描边消失

python - django 中的 url 中带分号的 url 需要什么模式