JS 的 substring split regex 哪个效率高?

2018-12-18 14:48:47 +08:00
 rizon

比如字符串 "abcdefg" 我现在要匹配的就是开头的“ abc ” 或者结尾的 “ efg ”

那么直接 sub 分割后 if 一下,和使用 split 或者 regex 哪个效率更高呢??

1843 次点击
所在节点    程序员
3 条回复
rabbbit
2018-12-18 14:55:51 +08:00
rabbbit
2018-12-18 15:01:20 +08:00
实际上没多大差别,哪个方便用哪个
那 js 刷 leetcode 另算
Vegetable
2018-12-18 15:09:21 +08:00
这个和待匹配串长度有关的

pattern 长度是 n,
待匹配长度是 N

* 字符串一般可以看成是连续表,length 是 O(1)
* regex 匹配时间复杂度为 O(N),具体有没有专门优化过^和$我不确定

头尾 slice 之后 if 判断的复杂度就是 O(n),可以认为和你的模式串长度相关

正则就是和待匹配串长度相关,所以是 O(N)
这两个长度差别不大的情况下,没什么差别,差很多就要斟酌测试一下了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/518625

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX