Referencia rápida de expresiones regulares

Como complemento a mi presentación de hoy en la reunión de noviembre del Gultij, publico esta tabla de expresiones regulares.

Observaciones:

  • Esta tabla no contempla la compatibilidad con POSIX. Por ejemplo, \b es un Perlismo que da la casualidad de que otros lo soportan también. Wikipedia trae información más detallada.
  • Perl toma algunas consideraciones con los fines de línea (\n). La manera más simple y segura de hacer matching en Perl de forma consistente con los demás motores es hacerle chomp a la línea. Como dicen en los comerciales: se aplican restricciones.

Si le detectan errores, por favor háganmelos saber.

Perl GNU Grep GNU Grep Ext Gawk GNU Sed GNU Sed Ext
Caracteres
Comodín . (punto) . (punto) . (punto) . (punto) . (punto) . (punto)
Juego [a-z] [a-z] [a-z] [a-z] [a-z] [a-z]
Excepto juego [^a-z] [^a-z] [^a-z] [^a-z] [^a-z] [^a-z]
Clase alpha [:alpha:] [:alpha:] [:alpha:] [:alpha:] [:alpha:] [:alpha:]
Clase dígitos [:digit:], \d [:digit:] [:digit:] [:digit:] [:digit:] [:digit:]
Clase controlchars [:cntrl:] [:cntrl:] [:cntrl:] [:cntrl:] [:cntrl:] [:cntrl:]
Clase alnum [:alnum:] [:alnum:] [:alnum:] [:alnum:] [:alnum:] [:alnum:]
Clase visibles [:graph:] [:graph:] [:graph:] [:graph:] [:graph:] [:graph:]
Clase minúsculas [:lower:] [:lower:] [:lower:] [:lower:] [:lower:] [:lower:]
Clase mayúsculas [:upper:] [:upper:] [:upper:] [:upper:] [:upper:] [:upper:]
Clase imprimibles [:print:] [:print:] [:print:] [:print:] [:print:] [:print:]
Clase puntuación [:punct:] [:punct:] [:punct:] [:punct:] [:punct:] [:punct:]
Clase espacios [:blank:], \h [:blank:] [:blank:] [:blank:] [:blank:] [:blank:]
Clase espacios y \n [:space:], \s [:space:], \s [:space:], \s [:space:], \s [:space:], \s [:space:], \s
Clase hexes [:xdigit:] [:xdigit:] [:xdigit:] [:xdigit:] [:xdigit:] [:xdigit:]
Límite de palabra \b \b \b (no hay) \b \b
[_[:alnum:]] \w \w \w \w \w \w
[^_[:alnum:]] (separadores) \W \W \W \W \W \W
Anclas
Inicio ^cadena ^cadena ^cadena ^cadena ^cadena ^cadena
Fin cadena$ cadena$ cadena$ cadena$ cadena$ cadena$
Calificadores
Agrupamiento (j) \(j\) (j) (j) \(j\) (j)
Referencia \1 \1 \1 (no hay) \1 \1
Cuantificadores
Cero o más * * * * * *
Cero o uno ? \? ? ? \? ?
Al menos 1 + \+ + + \+ \1
Rango {m,n} \{m,n\} {m,n} {m,n} \{m,n\} {m,n}
Operadores
Concatenación ab ab ab ab ab ab
Alternancia | \| | | \| |
Esta entrada fue publicada en Computación, Conferencias, Español, Gultij, Linux, Notas, Planet Gultij, Planeta Linux, Software libre. Guarda el enlace permanente.

Una respuesta en “Referencia rápida de expresiones regulares

  1. Noe Nieto dijo:

    Muy bueno!

    Gracias.

Responder a Noe Nieto Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *