我可以使用什么正则表达式从HTTP <a> element?</a>中提取URL

时间:2011-07-07 14:50:27

标签: javascript regex

这是原始字符串:

var str = "<a href=\"https://sjobs.brassring.com/1033/ASP/TG/cim_home.asp?partnerid=25172&amp;siteid=5235&amp;LanguageId=1/javascript:window.location='cim_jobdetail.asp?SID=^cJgiKPhGBHyn5VRSb9gbJg0K2T88FrLqHyAtd6hd5pJ7JeXxNyq0VatKCq3jYWp/&amp;jobId=385594&amp;type=hotjobs&amp;JobReqLang=141&amp;JobSiteId=5239&amp;JobSiteInfo=385594_5239&amp;GQId=0'\"> a vartiable</a>";

我需要这个部分:

str = "https://sjobs.brassring.com/1033/ASP/TG/cim_jobdetail.asp?SID=^cJgiKPhGBHyn5VRSb9gbJg0K2T88FrLqHyAtd6hd5pJ7JeXxNyq0VatKCq3jYWp/&amp;jobId=385594&amp;type=hotjobs&amp;JobReqLang=141&amp;JobSiteId=5239&amp;JobSiteInfo=385594_5239&amp;GQId=0";

换句话说,我需要删除标记<a>document.href value

谢谢你们。

3 个答案:

答案 0 :(得分:1)

像下面这样简单的东西应该有用......

href="(.*?)"

答案 1 :(得分:1)

这是你想要的代码:

var str = '<a href="https://sjobs.brassring.com/1033/ASP/TG/cim_home.asp?partnerid=25172&amp;siteid=5235&amp;LanguageId=1/javascript:window.location='cim_jobdetail.asp?SID=^cJgiKPhGBHyn5VRSb9gbJg0K2T88FrLqHyAtd6hd5pJ7JeXxNyq0VatKCq3jYWp/&amp;jobId=385594&amp;type=hotjobs&amp;JobReqLang=141&amp;JobSiteId=5239&amp;JobSiteInfo=385594_5239&amp;GQId=0'"> a vartiable</a>'

var url = /\"(.*?)\"/str

这就是你如何匹配,这是你如何剥离它:

str.replace(/\"(.*?)\"/, "$1");

\"(.*?)\"给出两个"个字符之间的第一个最小字符集,其中id为$1,然后替换函数的第二个参数告诉它用整个字符串替换整个字符串在$1

此外,如果你使用jQuery,这变得非常简单:

var url = $("a").attr("href");

答案 2 :(得分:1)

怎么样:

var str = "<a href=\"https://sjobs.brassring.com/1033/ASP/TG/cim_home.asp?partnerid=25172&amp;siteid=5235&amp;LanguageId=1/javascript:window.location='cim_jobdetail.asp?SID=^cJgiKPhGBHyn5VRSb9gbJg0K2T88FrLqHyAtd6hd5pJ7JeXxNyq0VatKCq3jYWp/&amp;jobId=385594&amp;type=hotjobs&amp;JobReqLang=141&amp;JobSiteId=5239&amp;JobSiteInfo=385594_5239&amp;GQId=0'\"> a vartiable</a>";
str.replace(/^<a href="(https.*?)cim_home\.asp.*?'(cim_jobdetail\.asp.*)'.*$/, "$1$2");

产生

"https://sjobs.brassring.com/1033/ASP/TG/cim_jobdetail.asp?SID=^cJgiKPhGBHyn5VRSb9gbJg0K2T88FrLqHyAtd6hd5pJ7JeXxNyq0VatKCq3jYWp/&amp;jobId=385594&amp;type=hotjobs&amp;JobReqLang=141&amp;JobSiteId=5239&amp;JobSiteInfo=385594_5239&amp;GQId=0"