Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript RegExp以字符串形式获取除链接HREF之外的所有URL_Javascript_Regex - Fatal编程技术网

Javascript RegExp以字符串形式获取除链接HREF之外的所有URL

Javascript RegExp以字符串形式获取除链接HREF之外的所有URL,javascript,regex,Javascript,Regex,我正在尝试形成一个RegExp来用链接元素替换字符串中的所有URL,除了已经是现有链接的href属性的URL。 此Regexp将所有URL(包括hrefs)转换为新的锚元素: /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig 这是不可取的 如何仅替换不是现有链接元素的href的URL 注: 根据许多文件,Regex和RegExp都是相同和有效的。 ,您需要确保您不在dfg

我正在尝试形成一个
RegExp
来用链接元素替换字符串中的所有URL,除了已经是现有链接的
href
属性的URL。

此Regexp将所有URL(包括
href
s)转换为新的锚元素:

/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig
这是不可取的


如何仅替换不是现有链接元素的
href
的URL

注:
根据许多文件,Regex和RegExp都是相同和有效的。

您需要确保您不在
dfg fgxc zcv内

不要像这样用regexp解析HTML,用DOM解析它,然后迭代并收集。@您提供的ali链接工作正常。请使用SO ide编写js代码。@AvinashRaj我有2个链接是我的HTML代码,其href在使用RegExp:a link元素作为另一个link元素的href属性值进行解析后转换为link元素。这显然是不正确的。@dandavis请你解释一下好吗?@AvinashRaj将问题和代码放在一个地方是好的,但我认为由于SO ide的UX设计不好,结果降低了问题的可读性。不是吗?我使用了这个RegExp,不幸的是它不能正确处理多个空格分隔的URL。我试图修复它,但我不擅长正则表达式。怎么修?我刚检查过,它好像在工作。你能提供一个示例文本吗?
var urlToLinkExp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])(?![^<>]*>(?:(?!<\/?a\b).)*<\/a>)/ig;
                                                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^