2

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

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

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

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

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

s.replaceAll(正则表达式,“”);

给我这个输出:

http://www.google.com

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

4

3 回答 3

16

您不必使用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()循环执行。

于 2011-11-29T08:44:57.443 回答
0

如果字符串中总是有一个这样的链接,试试这个:

"(^[^\"]*\")|(\"[^\"]*)$"
于 2011-11-29T08:45:09.503 回答
-1

您可以查看http://regexlib.com/以获得所需的所有正则表达式帮助。下面是 url :

^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$
于 2011-11-29T08:45:52.733 回答