Diferencia entre revisiones de «Expresiones regulares»
		
		
		
		Ir a la navegación
		Ir a la búsqueda
		
| m →Rangos | m →Rangos | ||
| Línea 27: | Línea 27: | ||
|    * '''/[^0-9]/''' Todo menos los numeros. |    * '''/[^0-9]/''' Todo menos los numeros. | ||
| {| | {| style="width: 100%" | ||
| |POSIX | ! style="padding: 2px; font-weight: bold" | POSIX | ||
| |Descripción | ! style="padding: 2px" | Descripción | ||
| |ASCII | ! style="padding: 2px" | ASCII | ||
| |Unicode | ! style="padding: 2px" | Unicode | ||
| |Shorthand | ! style="padding: 2px" | Shorthand | ||
| |Java | ! 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" | Salo 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} | ||
| |} | |} | ||
Revisión del 09:59 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.