Io ti suggerirei: import re
x = '-drive file=/mnt/dat/disco.raw,cache=none' y = '-hdb /mnt/dat/disco.raw' m = re.compile(r'(([^/]*/)+)([^.]*\.raw)') print m.match(x).groups()[2] print m.match(y).groups()[2] ma non so se sia un overkill; stasera riprendo Mastering regular expressions e vedo se ci sono soluzioni più carine ;) 2011/9/5 Valerio Pachera <siri...@gmail.com> > immaginiamo di avere queste stringhe > > '-drive file=/mnt/dat/disco.raw,cache=none' > '-hdb /mnt/dat/disco.raw' > > e di voler estrarre "disco.raw" ovvero la stringa che continene > finisce con .raw e inizia dopo il primo slash. > > Ho letto un po' di manuale delle regex e ho provato questo: > > p = re.compile('/.*\.raw') > print p.search(disco).group() > > che ci va vicini, sono che riporta tutto in path, ovvero > /mnt/dati/disco.raw. > > Voi come fareste? > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > -- Marco Bizzarri http://code.google.com/p/qt-asterisk/ http://notenotturne.blogspot.com/ http://iliveinpisa.blogspot.com/
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python