Estaba programando una funcion para el formateo de numero, creia que conocia el sistema de expresiones regulares hasta que me encontre con lo siguiente:
/\B(?=(?:\d{3})+(?!\d))/
explicación de la expresión:
expresión | significado |
---|---|
/ | marca el inicio y el fin de la expresión regular en javascript |
() | los paréntesis marcan el inicio y el fin de una supexpresión. |
\B | «non-word boundary» selecciona una palabra es decir un conjunto de caracteres rodeado por espacios en blanco. |
(?=patrón), (?!patrón) | «lookahead» prosigue solo si la expresión precedente es seguida por el patrónindicado(?=patrón) captura solo si existe un patrón a continuación. (?!patrón) captura solo si no existe un patrón a continuación. |
(?:patrón) | busca el patrón completo pero no lo captura. |
\d{3} | captura un patrón de 3 números seguidos, por ejemplo: 681 |
patrón+ |
indica que el patrón se puede repetir una o muchas veces. |
(?:\d{3})+ | captura un o varios grupos de 3 digitos |
(?!\d) | captura si el siguiente elemento NO es un número |
fuente: http://emont01.blogspot.com.es/2011/02/el-poder-de-las-expresiones-regulares.html
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.