Diferencia entre revisiones de «Expresiones regulares»
m (→Rangos) |
m (→Rangos) |
||
(No se muestran 5 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:] |
− | | | + | | 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:] |
− | | | + | | 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 del 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.