ahcanor
8/20/2015 - 7:27 AM

Expresiones regulares

Expresiones regulares

// Para saber si contiene la expresión
/regexp/.test("string"); // true|false



// Para extraer los pedazos de un string
"1. Esto es string con 1232 y kfejf por doquier.".match(/\d+/g); // Array[1, 1232] or null



// Saber el primer índice de la expresión
"string".search(/regexp/); // -1, index (1st match)



// Para extraer los pedazos de un string mediante un ciclo, sabiendo el índice
var myRe = /ab*/g;
var str = 'abbcdefabh';
var myArray;
while ((myArray = myRe.exec(str)) !== null) {
  console.log('Found ' + myArray[0] + ' in index '+ myRe.lastIndex);
}
// Este método no es tan útil, ya que si no necesitamos los índices, podemos hacer:
"abbcdefabh".match(/ab*/g);



// replace
"string".replace(/regexp/, newString);
//newString puede tener
// $1...$n para insertar el n-esimo groupmatch
// $& para insertar el match
// $` y $' para insertar lo de antes o después del groupmatch




// replace con función
"2+4+5".replace(/(\d)\+(\d)\+(\d)/gi, function(match, p1, p2, p3, index, str){
  return str + " = " + (parseInt(p1)+parseInt(p2)+parseInt(p3));
});