gpt4 book ai didi

regex - 将前导插入符 (^) 添加到正则表达式会导致性能提升吗?

转载 作者:行者123 更新时间:2023-12-04 02:51:11 26 4
gpt4 key购买 nike

一般来说(跨正则表达式实现),向正则表达式添加前导插入符号 (^) 会导致性能提升或损失吗?

假设表达式将匹配带有或不带前导插入符的相同结果。

换句话说,^[regexp] 是否比 [regexp] 快或慢,忽略它们可能匹配的任何差异?

举个具体的例子,假设我们正在尝试匹配 URL 字符串以查找任何 foo.com 链接。

为此,我们可以使用正则表达式 https?://foo\.com/(.*)

正则表达式 ^https?://foo\.com/(.*) 会更快吗?

(对于这个例子,我们是否匹配像 https://anysite.com/?http://foo.com/anyothersite.com 这样的字符串并不重要。)

最佳答案

是的,它应该更快,原因很简单,它可以在只查看第一个字符后理想地丢弃不匹配的字符串。没有插入符号的版本可能需要进一步查看。

这样想:作为人类,什么速度更快?

  • 验证一本书是否以单词“morning”开头,
  • 或验证一本书在任何地方都包含这个词?

从概念上讲,对于计算机来说是一样的。

关于regex - 将前导插入符 (^) 添加到正则表达式会导致性能提升吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54935071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com