这个问题是以下帖子的后续: Javascript regex: Find all URLs outside <a> tags - Nested Tags
我发现代码:
\b((https?|ftps?):\/\/[^"<\s]+)(?![^<>]*>|[^"]*?<\/a)
http
与像这样单独执行它相比,效率极低ftp
:
\b(https?:\/\/[^"<\s]+)(?![^<>]*>|[^"]*?<\/a)
和
\b(ftps?:\/\/[^"<\s]+)(?![^<>]*>|[^"]*?<\/a)
以下是 regex101.com 上的示例:
然而,在我的一个 HTML 页面中,这些代码比较为85628步与7258 + 795步,这太疯狂了。
据我所见,使用(x|y)模式会减少执行长度,但这里可能出于一个奇怪的原因,否则会这样。
任何帮助,将不胜感激。