Javascript JS正则表达式在一行中查找并替换所有html链接

Javascript JS正则表达式在一行中查找并替换所有html链接,javascript,regex,Javascript,Regex,我有一点困难,使正则表达式在js中找到,提取和替换所有html链接标签的纯文本链接 我的JS看起来像这样: var str = value.replace(/<a .*href="([^\'\"]+).*?<\/a>/g, "$1"); 这就是我期望得到的: http://google.com 要保留的文本!http://facebook.com 这就是我得到的: http://facebook.com 如果在新行中放置第二个链接,效果很好,但问题是我的字符串没有任何新行 请

我有一点困难,使正则表达式在js中找到,提取和替换所有html链接标签的纯文本链接

我的JS看起来像这样:

var str = value.replace(/<a .*href="([^\'\"]+).*?<\/a>/g, "$1");
这就是我期望得到的:
http://google.com 要保留的文本!http://facebook.com

这就是我得到的:
http://facebook.com

如果在新行中放置第二个链接,效果很好,但问题是我的字符串没有任何新行

请参阅我的非工作正则表达式示例

提前感谢。

var str=value.replace(/)

var str = value.replace(/<a *href="([^\'\"]+).*?<\/a>/g, "$1");
如果您的字符串如下所示:

 <a class='ss' href="http://google.com" target="_blank">clicdk here</a> Text to keep! <a class='ss' href="http://facebook.com" target="_blank">click ffhere</a>
要保留的文本!
那就试试这个

var str = value.replace(/<a .*? *href="([^\'\"]+).*?<\/a>/g, "$1");

var str=value.replace(/。

用正则表达式解析HTML是出了名的困难,因为HTML不是一种正则语言。根据HTML结构的其余部分以及您将如何处理从这些链接提取的信息,只需创建一个documentFragment(),然后使用querySelectorAll选择所有超链接可能会更容易(),然后返回他们的href和innerHTML。关于为什么需要使用regex解析HTML字符串以及之后会发生什么,您有更多信息吗?谢谢您,Khushali。但是如果我在prefer href中指定了任何属性,我现在怎么能忽略呢?像这样-
var str = value.replace(/<a .*? *href="([^\'\"]+).*?<\/a>/g, "$1");