2011-12-29 18 views

risposta

22
\.(?=.*\.) 

corrisponde a un punto (\.), che ci deve essere un altro punto lo seguono ((?=.*\.)).

(Premesso che il motore regex supporta lookahead, per esempio PCRE, Python, ecc)

+0

Grazie a questo ha funzionato! Stavo provando tanto con il lookahead, non riuscivo a farlo funzionare. Saluti! – malamili

+0

Funziona bene con JavaScript. Puoi spiegare la tua espressione regolare [qui] (http://rick.measham.id.au/paste/explain.pl?regex=%5C.%28%3F%3D.*%5C.%29) – mayrs

+0

Funziona bene anche con Java. – Gautam

2

Quindi non ha specificato i vostri strumenti regex, motore, ecc Ebbene si può fare questo con per esempio sed (funziona solo se ci sono sempre due cifre dopo è sempre presente l'ultimo dot e l'ultimo dot):

echo "50.00.00..00.00" | sed 's/\.//;s/\(..\)$/.\1/' 

Ma ci sono molti altri modi, ad esempio con regex lookahead (se è supportato per te).

HTH

+0

Sì, avrei dovuto dirlo, sto usando Java. E la risposta di KennyTM ha funzionato per me. Grazie comunque! – malamili

Problemi correlati