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

Rispondere a