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 | \| | | \| |

Comentarios

Referencia rápida de expresiones regulares — 1 comentario

Deja un comentario

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