Expresiones regulares
Carácteres especiales
Estos caracteres deberán ir protegidos en caso de que no se quieran expandir.
* [ ] corchetes (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.