以前没留意过split也存在组捕获的特性。在看enhance-resolve源码的时候,发现源码里有这个特性,一开始没看明白,后来查资料得知split也存在组捕获。当然可以设置不捕获(?:)
"ababaabab".split(/a{2}/)
// ['abab', 'bab']
"ababaabab".split(/(a){2}/)
// ['abab', 'a', 'bab']
"ababaabab".split(/(?:a){2}/) // 不捕获
// ['abab', 'bab']
'/a/index'.split(/(.*?[\\/]+)/)
// ["", "/", "", "a/", "index"]
'1\n2\n3'.split(/(\n)/);
// ["1", "↵", "2", "↵", "3"]
'1\n2\n3'.split(/\n/);
// ["1", "2", "3"]