Expresiones regulares
Carácteres especiales
Estos caracteres deberán ir protegidos en caso de que no se quieran expandir.
* **[ ]** cochetes (para generar rangos) * **()** parentesis (agrupa bloques de correlaciones) * **{}** llaves (contiene la cantidad de veces) * **-** guión (especifica rangos) * **+** más (al menos una vez) * ***** asterisco (una o ninguna vez) * **.** Punto (cualquier caracter) * **^** circumflejo (principio de la cadena o negar caragteres) * **$** dolar (final de la cadena) * **?** interrogante cerrado (un caracter) * **|** tuberia unix (uno u otro valor) * **\** barra invertida (se usa para tratar de forma normal un caracter especial) * **/** barra del 7 (para iniciar o finalizar una expresión regular)
Rangos
* **/[a-z]/** letras minúsculas * **/[A-Z]/** letras mayúsculas * **/[0-9]/** numeros * **/[,'¿!¡;:\.\?]/** caracteres de puntuacion * **/[A-Za-z]/** letras del alfabeto (del ingles claro ;) * **/[A-Za-z0-9]/** todos los caracteres alfanumericos habituales. No incluyen acentos ni ñ * **/[^a-z]/** El simbolo ^ es el de negación. Esto es decir, TODO MENOS las letras minusculas. * **/[^0-9]/** Todo menos los numeros.
Comodines y abreviaturas
* **\w** para indicar word (alfanumericos y _) * **\W** para indicar lo opuesto al word. * **\s** para concordar con los caracteres los espacios y otros caracteres en blanco (\t \n \r y espacio) * **\S** para lo contrario a \s * **\d** para concordar con un digito * **\D** para lo contrario al \d * **\A** para empezar a mirar por el principio del string * **\Z** para empezar a mirar por el final de string * **\b** concuerda con las "word boundaries" los limites de palabra * **\B** lo opuesto a \b
Modificadores
Los modificadores se añaden tras el último delimitador de la expresión regular. Ejemplo: '/[a-z]/i' (busca caracteres sin distinguir mayúsuclas de minúsculas)
* **g** global reemplaza TODAS las ocurrencias en el texto. * **i** insensitive, es para evitarnos problemas con la capitalizacion. A = a * **o** interpola, variables solo una vez * **m** multiples, lineas Acepta strings de varias lineas * **s** single line, solo mira el string de una linea. * **x** extensiones, permite usar extensiones de expresion regular.