1

目前我有一个正则表达式,可以在一个 html 块中找到所有 URL。它看起来像这样:

elementHTML.match(/(http|ftp|https):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?/ig);

当检测到 URL 时,它会被替换为如下所示的内容:

<div data="URL_THAT_WAS_DETECTED">Information about that url</div>

数据属性是自定义添加的。

我如何才能继续查找 URL 而无需获取先前检测到的 URL?

理想情况下,我希望忽略引号中的 URL 或可能的 html 标签,但我愿意接受建议。

非常感谢任何帮助,谢谢!

4

1 回答 1

1

这个正则表达式会这样做:

 /(http|ftp|https):\/\/[\w-]+(\.[\w-]+)+(?![^\s]*?")([\w.,@?^=%&amp;:\/~+#-]*[\w@?^=%&amp;\/~+#-])?/ig

我为双引号"字符添加了负前瞻。

现场演示

于 2012-06-03T07:11:13.407 回答