2011-12-29 27 views

Respuesta

22
\.(?=.*\.) 

coincide con un punto (\.), que debe haber otro punto siguiente que ((?=.*\.)).

(Esto supone que el motor de expresiones regulares apoya lookahead, por ejemplo PCRE, Python, etc.)

+0

¡Gracias, funcionó! Estaba intentando mucho con anticipación, no podía hacerlo funcionar. ¡Aclamaciones! – malamili

+0

Funciona bien con JavaScript. Puede obtener su expresión regular [aquí] (http://rick.measham.id.au/paste/explain.pl?regex=%5C.%28%3F%3D.*%5C.%29) – mayrs

+0

Funciona bien con Java también. – Gautam

2

Así que no especificó sus herramientas de expresiones regulares, motor, etc. Así que usted puede hacer esto con, por ejemplo, sed (sólo funciona si hay siempre dos dígitos después de la última dotdot y el último es siempre presente):

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

Pero hay varias otras maneras, por ejemplo, con look-up regex (si es compatible para usted).

HTH

+0

Sí, debería haber mencionado eso, estoy usando Java. Y la respuesta de KennyTM funcionó para mí. ¡Gracias de todos modos! – malamili

Cuestiones relacionadas