Javascript正则表达式:查找所有网址优化

Kla*_*nis 6 html javascript regex hyperlink multipart-alternative

这个问题是以下帖子的后续内容: Javascript正则表达式:查找<a>标签之外的所有网址 - 嵌套标签

我发现代码:

\b((https?|ftps?):\/\/[^"<\s]+)(?![^<>]*>|[^"]*?<\/a)
Run Code Online (Sandbox Code Playgroud)

相比单独执行它是极其低效的httpftp部分是这样的:

\b(https?:\/\/[^"<\s]+)(?![^<>]*>|[^"]*?<\/a)
Run Code Online (Sandbox Code Playgroud)

\b(ftps?:\/\/[^"<\s]+)(?![^<>]*>|[^"]*?<\/a)
Run Code Online (Sandbox Code Playgroud)

以下是regex101.com的示例:

但是,在我的一个HTML页面中,这些代码比较为85628步骤与7258 + 795步骤,这非常疯狂.

据我所知,使用(x | y)模式可以减少执行长度,但这可能是因为一个奇怪的原因.

任何帮助,将不胜感激.

Nar*_*eli 0

如果您正在寻找文档中的所有链接,那么解决方案就是这样。它返回一个数组