[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: