División de matriz con más dígitos

Oct 07 2020

Supongamos que tengo la siguiente cadena:

(255+23*452-2)

Entonces uso

string.split("")

entonces obtengo una matriz. Pero el problema es que solo obtengo una matriz como esta: [2,5,5,+2,3,*...]que no necesito. Necesito obtener una matriz como esta:[255, +, 23, *, 452, -, 2, )...etc]

Gracias por el consejo

Respuestas

4 RoboRobok Oct 07 2020 at 17:38

Coincide con todo lo que sea un grupo de dígitos o que no tenga ningún dígito:

const string = "(255+23*452-2)";
const components = string.match(/\d+|\D/g);
// ["(", "255", "+", "23", "*", "452", "-", "2", ")"]