Diferencia entre revisiones de «Expresiones regulares»

De mobeleader
Ir a la navegación Ir a la búsqueda
 
(No se muestran 4 ediciones intermedias del mismo usuario)
Línea 27: Línea 27:
   * '''/[^0-9]/''' Todo menos los numeros.
   * '''/[^0-9]/''' Todo menos los numeros.


{|
<br />
|POSIX
 
|Descripción
{| style="width: 100%"
|ASCII
! style="padding: 2px; font-weight: bold" | POSIX
|Unicode
! style="padding: 2px" | Descripción
|Shorthand
! style="padding: 2px" | ASCII
|Java
! style="padding: 2px" | Unicode
! style="padding: 2px" | Shorthand
! style="padding: 2px" | Java
|-
|-
|[:alnum:]  
| style="padding: 2px; background-color: #eff0ef; font-weight: bold" | [:alnum:]  
|Letras y números  
| style="padding: 2px; background-color: #eff0ef" | Letras y números  
|[a-zA-Z0-9]  
| style="padding: 2px; background-color: #eff0ef" | [a-zA-Z0-9]  
|[\p{L}\p{Nl}\p{Nd}]  
| style="padding: 2px; background-color: #eff0ef" | [\p{L}\p{Nl}\p{Nd}]  
|
| style="padding: 2px; background-color: #eff0ef" |  
|\p{Alnum}
| style="padding: 2px; background-color: #eff0ef" | \p{Alnum}
|-
|-
|[:alpha:]
| style="padding: 2px; background-color: #fafafa; font-weight: bold" | [:alpha:]
|Salo letras
| style="padding: 2px; background-color: #fafafa" | Solo letras
|[a-zA-Z]  
| style="padding: 2px; background-color: #fafafa" | [a-zA-Z]  
|\p{L}\p{Nl}  
| style="padding: 2px; background-color: #fafafa" | \p{L}\p{Nl}  
|
| style="padding: 2px; background-color: #fafafa" |  
|\p{Alpha}
| style="padding: 2px; background-color: #fafafa" | \p{Alpha}
|-
|-
|[:ascii:]
| style="padding: 2px; background-color: #eff0ef; font-weight: bold" | [:ascii:]
|Caracteres ASCII
| style="padding: 2px; background-color: #eff0ef" | Caracteres ASCII
|[\x00-\x7F]  
| style="padding: 2px; background-color: #eff0ef" | [\x00-\x7F]  
|\p{InBasicLatin}
| style="padding: 2px; background-color: #eff0ef" | \p{InBasicLatin}
|
| style="padding: 2px; background-color: #eff0ef" |  
|\p{ASCII}
| style="padding: 2px; background-color: #eff0ef" | \p{ASCII}
|-
|-
|[:blank:]
| style="padding: 2px; background-color: #fafafa; font-weight: bold" | [:blank:]
|Espacio y tabulación
| style="padding: 2px; background-color: #fafafa" | Espacio y tabulación
|[ \t]
| style="padding: 2px; background-color: #fafafa" | [ \t]
|[\p{Zs}\t]
| style="padding: 2px; background-color: #fafafa" | [\p{Zs}\t]
|\h
| style="padding: 2px; background-color: #fafafa" | \h
|\p{Blank}
| style="padding: 2px; background-color: #fafafa" | \p{Blank}
|-
|-
|[:cntrl:]
| style="padding: 2px; background-color: #eff0ef; font-weight: bold" | [:cntrl:]
|Caracteres de control
| style="padding: 2px; background-color: #eff0ef" | Caracteres de control
|[\x00-\x1F\x7F]
| style="padding: 2px; background-color: #eff0ef" | [\x00-\x1F\x7F]
|\p{Cc}
| style="padding: 2px; background-color: #eff0ef" | \p{Cc}
|
| style="padding: 2px; background-color: #eff0ef" |  
|\p{Cntrl}
| style="padding: 2px; background-color: #eff0ef" | \p{Cntrl}
|-
|-
|[:digit:]
| style="padding: 2px; background-color: #fafafa; font-weight: bold" | [:digit:]
|Dígitos
| style="padding: 2px; background-color: #fafafa" | Dígitos
|[0-9]
| style="padding: 2px; background-color: #fafafa" | [0-9]
|\p{Nd}  
| style="padding: 2px; background-color: #fafafa" | \p{Nd}  
|\d
| style="padding: 2px; background-color: #fafafa" | \d
|\p{Digit}
| style="padding: 2px; background-color: #fafafa" | \p{Digit}
|-
|-
|[:graph:]
| style="padding: 2px; background-color: #eff0ef; font-weight: bold" | [:graph:]
|Caracteres visibles (todo excepto espacios y caracteres de control)
| style="padding: 2px; background-color: #eff0ef" | Caracteres visibles<br />(todo excepto espacios<br />y caracteres de control)
|[\x21-\x7E]
| style="padding: 2px; background-color: #eff0ef" | [\x21-\x7E]
|[^\p{Z}\p{C}]
| style="padding: 2px; background-color: #eff0ef" | [^\p{Z}\p{C}]
|
| style="padding: 2px; background-color: #eff0ef" |  
|\p{Graph}
| style="padding: 2px; background-color: #eff0ef" | \p{Graph}
|-
|-
|[:lower:]
| style="padding: 2px; background-color: #fafafa; font-weight: bold" | [:lower:]
|Letras en minúsculas
| style="padding: 2px; background-color: #fafafa" | Letras en minúsculas
|[a-z]
| style="padding: 2px; background-color: #fafafa" | [a-z]
|\p{Ll}
| style="padding: 2px; background-color: #fafafa" | \p{Ll}
|\l
| style="padding: 2px; background-color: #fafafa" | \l
|\p{Lower}
| style="padding: 2px; background-color: #fafafa" | \p{Lower}
|-
|-
|[:print:]
| style="padding: 2px; background-color: #eff0ef; font-weight: bold" | [:print:]
|Caracteres visibles y espacios (todo excepto caracteres de control)
| style="padding: 2px; background-color: #eff0ef" | Caracteres visibles y espacios<br />(todo excepto caracteres de control)
|[\x20-\x7E]
| style="padding: 2px; background-color: #eff0ef" | [\x20-\x7E]
|\P{C}
| style="padding: 2px; background-color: #eff0ef" | \P{C}
|
| style="padding: 2px; background-color: #eff0ef" |  
|\p{Print}
| style="padding: 2px; background-color: #eff0ef" | \p{Print}
|-
|-
|[:punct:]
| style="padding: 2px; background-color: #fafafa; font-weight: bold" | [:punct:]
|Puntuación (y símbolos).
| style="padding: 2px; background-color: #fafafa" | Puntuación (y símbolos).
|[!"\#$%&'()*+,\-./:;<=>?@\[\\\]^_`{|}~]
| style="padding: 2px; background-color: #fafafa" | [!"\#$%&'()*+,\-./:;<=>?@\[\\\]^_`{|}~]
|\p{P}
| style="padding: 2px; background-color: #fafafa" | \p{P}
|
| style="padding: 2px; background-color: #fafafa" |  
|\p{Punct}
| style="padding: 2px; background-color: #fafafa" | \p{Punct}
|-
|-
|[:space:]
| style="padding: 2px; background-color: #eff0ef; font-weight: bold" | [:space:]
|Todos los caracteres de espacio incluyendo saltos de línea
| style="padding: 2px; background-color: #eff0ef" | Todos los caracteres de espacio<br />incluyendo saltos de línea
|[ \t\r\n\v\f]
| style="padding: 2px; background-color: #eff0ef" | [ \t\r\n\v\f]
|[\p{Z}\t\r\n\v\f]  
| style="padding: 2px; background-color: #eff0ef" | [\p{Z}\t\r\n\v\f]  
|\s
| style="padding: 2px; background-color: #eff0ef" | \s
|\p{Space}
| style="padding: 2px; background-color: #eff0ef" | \p{Space}
|-
|-
|[:upper:]
| style="padding: 2px; background-color: #fafafa; font-weight: bold" | [:upper:]
|Letras mayúsculas
| style="padding: 2px; background-color: #fafafa" | Letras mayúsculas
|[A-Z]
| style="padding: 2px; background-color: #fafafa" | [A-Z]
|\p{Lu}
| style="padding: 2px; background-color: #fafafa" | \p{Lu}
|\u
| style="padding: 2px; background-color: #fafafa" | \u
|\p{Upper}
| style="padding: 2px; background-color: #fafafa" | \p{Upper}
|-
|-
|[:word:]
| style="padding: 2px; background-color: #eff0ef; font-weight: bold" | [:word:]
|Palabras (letras, números y guiones bajos)
| style="padding: 2px; background-color: #eff0ef" | Palabras<br />(letras, números y guiones bajos)
|[A-Za-z0-9_]
| style="padding: 2px; background-color: #eff0ef" | [A-Za-z0-9_]
|[\p{L}\p{Nl}\p{Nd}\p{Pc}]
| style="padding: 2px; background-color: #eff0ef" | [\p{L}\p{Nl}\p{Nd}\p{Pc}]
|\w  
| style="padding: 2px; background-color: #eff0ef" | \w  
|\p{IsWord}
| style="padding: 2px; background-color: #eff0ef" | \p{IsWord}
|-
|-
|[:xdigit:]
| style="padding: 2px; background-color: #fafafa; font-weight: bold" | [:xdigit:]
|Dígitos hexadecimales
| style="padding: 2px; background-color: #fafafa" | Dígitos hexadecimales
|[A-Fa-f0-9]
| style="padding: 2px; background-color: #fafafa" | [A-Fa-f0-9]
|[A-Fa-f0-9]
| style="padding: 2px; background-color: #fafafa" | [A-Fa-f0-9]
|
| style="padding: 2px; background-color: #fafafa" |  
|\p{XDigit}
| style="padding: 2px; background-color: #fafafa" | \p{XDigit}
|}
|}
Más información en: https://www.regular-expressions.info/posixbrackets.html
<br />


== Comodines y abreviaturas ==
== Comodines y abreviaturas ==

Revisión actual - 09:01 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:] Solo 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}

Más información en: https://www.regular-expressions.info/posixbrackets.html

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.