Javascript regex split rejette null

Est-il possible de faire un JavaScript regex rejeter les correspondances nulles?

La méthode String.split () peut-elle être invitée à rejeter des valeurs nulles?

console.log("abcccab".split("c")); //result: ["ab", "", "", "ab"] //desired result: ["ab", "ab"] 

Pendant que je testais ceci, je rencontrai une réponse partielle en cas d'accident:

 console.log("abccacaab".split(/c+/)); //returns: ["ab", "a", "aab"] 

Mais, un problème survient lorsque le match est au début:

 console.log("abccacaab".split(/a+/)); //returns: ["", "bcc", "c", "b"] // ^^ 

Y a-t-il une réponse propre? Ou devons-nous simplement faire face à cela?

Ce n'est pas précisément une solution regex, mais un filtre en fera un travail rapide.

 "abcccab".split("c").filter(Boolean); 

Cela filtrera les valeurs "" faux.

Ajustez les correspondances à partir des extrémités de la chaîne avant de vous diviser:

 console.log("abccacaab".replace(/^a+|a+$/g, '').split(/a+/)); // ["bcc", "c", "b"]