Expresiones regulares

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


Publicado

en

,

por

Etiquetas:

Comentarios

Deja una respuesta