我正在使用的第三方工具构建了一个像这样的锚标记。
"<a href="http://DevNode/Lists/Publications.aspx#/publication/123">http://DevNode/Lists/Publications.aspx#/publication/123</a>"我需要隔离href这样我就可以修剪它了。目前我的模式
reg = /^(<a\shref=")? http:\/\/DevNode\/Lists\/Publications.aspx#\/publication\/(\d+)/i {lastIndex: 0} 如果href有这样的前导空间,将无法匹配。
"<a href=" http://DevNode/Lists/Publications.aspx#/publication/123"> http://DevNode/Lists/Publications.aspx#/publication/123</a>"请帮帮忙
发布于 2016-10-17 18:01:23
您可能需要使用*量词,该量词表示“任意次数(包括零)”组合到\s,它将匹配空格、换行符或其他。
因此,在需要一个空格但可能有多个空格的地方,请使用\s+
使用\s*,在其中一个空格是可选的,但可能有一些
reg = /^(<a\s+href=")?\s*http:\/\/DevNode\/Lists\/Publications.aspx#\/publication\/(\d+)/i发布于 2016-10-17 17:57:22
如果您是在浏览器上这样做,最简单的方法是让浏览器解决这个问题:
var div = document.createElement("div");
div.innerHTML = yourString;
var href = div.querySelector("a").href;如果它是一个相对URL,这也具有解析它的优点。如果您不想这样做,请使用getAttribute:
var href = div.querySelector("a").getAttribute("href");请注意,如果使用getAttribute,如果属性有前导空间,则结果中将显示前导空间;如果您想要去掉它,String#trim可能很有用。
发布于 2016-10-17 18:17:09
保持简单:
var ahref = '<a href="http://DevNode/Lists/Publications.aspx#/publication/123">http://DevNode/Lists/Publications.aspx#/publication/123</a>';
var href = ahref.split('"')[1];https://stackoverflow.com/questions/40092721
复制相似问题