Saltar a: navegación, buscar

Diferencia entre revisiones de «Expresiones regulares»


m (Rangos)
m (Rangos)
Línea 50: Línea 50:
 
|-
 
|-
 
|[:ascii:]
 
|[:ascii:]
|caracteres ASCII
+
|Caracteres ASCII
 
|[\x00-\x7F]  
 
|[\x00-\x7F]  
 
|\p{InBasicLatin}
 
|\p{InBasicLatin}

Revisión del 08:42 19 oct 2018

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 carácteres)
 * $ 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.
POSIX Descripción ASCII Unicode Shorthand Java
[:alnum:] Letras y números [a-zA-Z0-9] [\p{L}\p{Nl}\p{Nd}] \p{Alnum}
[:alpha:] Salo letras [a-zA-Z] \p{L}\p{Nl} \p{Alpha}
[:ascii:] Caracteres ASCII [\x00-\x7F] \p{InBasicLatin} \p{ASCII}
[:blank:] Espacio y tabulación [ \t] [\p{Zs}\t] \h \p{Blank}
[:cntrl:] Caracteres de control [\x00-\x1F\x7F] \p{Cc} \p{Cntrl}
[:digit:] Dígitos [0-9] \p{Nd} \d \p{Digit}
[:graph:] Caracteres visibles (todo excepto espacios y caracteres de control) [\x21-\x7E] [^\p{Z}\p{C}] \p{Graph}
[:lower:] Letras en minúsculas [a-z] \p{Ll} \l \p{Lower}
[:print:] Caracteres visibles y espacios (todo excepto caracteres de control) [\x20-\x7E] \P{C} \p{Print}
[:punct:] Puntuación (y símbolos). }~] \p{P} \p{Punct}
[:space:] Todos los caracteres de espacio incluyendo saltos de línea [ \t\r\n\v\f] [\p{Z}\t\r\n\v\f] \s \p{Space}
[:upper:] Letras mayúsculas [A-Z] \p{Lu} \u \p{Upper}
[:word:] Palabras (letras, números y guiones bajos) [A-Za-z0-9_] [\p{L}\p{Nl}\p{Nd}\p{Pc}] \w \p{IsWord}
[:xdigit:] Dígitos hexadecimales [A-Fa-f0-9] [A-Fa-f0-9] \p{XDigit}

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.