Re: espressioni regolari matching minimo
Piviul writes:
> Ciao a tutti, le espressioni regolari fanno il match della stringa più
> lunga; intendo ad esempio che:
>
> $ echo piopio | grep p.*o
>
> restituisca piopio. A me interesserebbe fare invece il match sulla
> stringa più corta, cioé vorrei che mi restituisse pio: è possibile?
Per default grep usa le regexp "greedy" che vanno a caccia del massimo
pattern, mentre a te servono quelle "lazy" che prendono il pattern
minimo.
Devi usare le regexp con la sintassi del Perl e l'opzione -P di grep
(P.S. la greediness la sapevo da solo, come controllarla in grep l'ho
trovato su StackOverflow con una seeeemplice ricerca con Google.
OOps... Io sapevo che il termine magico era "greedy" :) )
--
/\ ___ Ubuntu: ancient
/___/\_|_|\_|__|___Gian Uberto Lauri_____ African word
//--\| | \| | Integralista GNUslamico meaning "I can
\/ coltivatore diretto di software not install
già sistemista a tempo (altrui) perso... Debian"
Warning: gnome-config-daemon considered more dangerous than GOTO
Reply to: