|
kuing
Posted at 2024-2-24 14:57:05
Last edited by kuing at 2024-2-24 16:15:00我觉得你说得对,是等效的。
但为何这样写建议去问作者😄
(纯瞎猜……:
说不定这样写会匹配得更快?因为他预估那一块绝大多数情况下都是英文字母?
==========
用以下两段代码来检测时间:
- const str = "aaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddd";
- const reg1 = /(?:[a-zA-Z]|.)/g;
- console.time("a-z");
- for(let i=0;i<10000;i++){
- str.match(reg1)
- }
- console.timeEnd("a-z");
Copy the Code- const str = "aaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddd";
- const reg2 = /(?:.)/g;
- console.time(".");
- for(let i=0;i<10000;i++){
- str.match(reg2)
- }
- console.timeEnd(".");
Copy the Code
经多次运行(包括谁先谁后,都试过),发现并无明显差别,看来猜测并不对。 |
|