以前没留意过split也存在组捕获的特性。在看enhance-resolve源码的时候,发现源码里有这个特性,一开始没看明白,后来查资料得知split也存在组捕获。当然可以设置不捕获(?:)

    1. "ababaabab".split(/a{2}/)
    2. // ['abab', 'bab']
    3. "ababaabab".split(/(a){2}/)
    4. // ['abab', 'a', 'bab']
    5. "ababaabab".split(/(?:a){2}/) // 不捕获
    6. // ['abab', 'bab']
    7. '/a/index'.split(/(.*?[\\/]+)/)
    8. // ["", "/", "", "a/", "index"]
    9. '1\n2\n3'.split(/(\n)/);
    10. // ["1", "↵", "2", "↵", "3"]
    11. '1\n2\n3'.split(/\n/);
    12. // ["1", "2", "3"]