jueves, 30 de junio de 2016

+ - Encuentra un elemento una o más veces

El metacarácter + funciona de forma muy parecida a *, excepto que requiere al menos una instancia del elemento precedente para que ocurra una coincidencia. Aquí tenemos una expresión regular que sólo encontrará líneas consistentes en grupos de uno o más caracteres alfabéticos separados por un espacio:

^([[:alpha:]]+ ?)+$
[me@linuxbox ~]$ echo "This that" | grep -E '^([[:alpha:]]+ ?)+$'
This that
[me@linuxbox ~]$ echo "a b c" | grep -E '^([[:alpha:]]+ ?)+$'
a b c
[me@linuxbox ~]$ echo "a b 9" | grep -E '^([[:alpha:]]+ ?)+$'
[me@linuxbox ~]$ echo "abc  d" | grep -E '^([[:alpha:]]+ ?)+$'
[me@linuxbox ~]$

Vemos que esta expresión no encuentra la línea "a b 9", porque contiene un carácter no alfabético; ni encuentra "abc d", por que los caracteres "c" y "d" están separados por más de un espacio en blanco.

No hay comentarios:

Publicar un comentario