Quote Originariamente inviata da Santino83_02 Visualizza il messaggio
cmq, questa espressione:

codice:
(€\s?[\d\.]+(=?,\d+)?)
fa il match corretto di:
codice:
il prezzo è € 127,00
il prezzo è €127,00. vero?
il prezzo è €127,00, vero?
mentre

codice:
(€\s[\d\.,]+)
solo del primo caso.


EDIT: cmq non ci capisco molto di regexp, diciamo che sopravvivo con quel poco che conosco.
Si, e' per quello che e' MOLTO importante specificare con precisione cosa si vuole cercare. Se la domanda presenta "€ 127,00" come esempio, l'unica deduzione automatica e' che si voglia:
1. il carattere €
2. uno spazio
3. una sequenza di numeri
4. una virgola
5. una sequenza di DUE numeri

(e gia' il punto 3 e' comunque una generalizzazione per deduzione, perche' altrimenti si potrebbero anche cercare TRE numeri e non una sequenza indefinita)

Se lo spazio e' opzionale, o se puo' essere presente il punto separatore delle migliaia, allora va precisato. Scrivere un pattern piu' generico del necessario e' inutile e spesso dannoso.

La vera difficolta' di utilizzare bene le regular expressions non e' la sintassi, ma imparare a DESCRIVERE CON ESTREMA PRECISIONE quello che si sta cercando.