Creating java regex to get href link

2020-02-26 15:03发布

Sorry if this has been asked before, but I couldn't find any answers on the web. I'm having a hard time figuring out the inverse to this regex:

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

I want to use replaceAll to replace everything except the link. So if I had a tag similar to this:

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

I need a regex that would satisfy this:

s.replaceAll(regex, "");

to give me this output:

http://www.google.com

I know there are better ways to do this, but I have to use a regex. Any help is really appreciated, thanks!

3条回答
啃猪蹄的小仙女
2楼-- · 2020-02-26 15:03

You do not have to use replaceAll. Better use pattern groups like the following:

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
}

If you have several links into your HTML perform m.find() in loop.

查看更多
仙女界的扛把子
3楼-- · 2020-02-26 15:20

If you always have one such link in a string, try this:

"(^[^\"]*\")|(\"[^\"]*)$"
查看更多
Summer. ? 凉城
4楼-- · 2020-02-26 15:25

you can checkout http://regexlib.com/ for all the regex help you need. And the one below is for url :

^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$
查看更多
登录 后发表回答