se la stringa che ti serve è l'unica che contiene un punto potresti usare: >>> re.search(r'\b(?P<stringa>\w+\.\w+)\b', x).groupdict() {'stringa': 'disco.raw'}
skype: masdero, icq: 473891447, yim: mas_dero, msn: mas_d...@hotmail.com ------------ Mi scriva in italiano; Write me in English; Skribu al mi Esperante! 2011/9/5 Marco Bizzarri <marco.bizza...@gmail.com>: > 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 > > _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python