Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/03/2013, 10:25
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Expresion regular

el patrón ^\d{9}(?:,\d{9})+$ básicamente significa coincidir 9 dígitos (\d{9}), seguido por la coincidencia de uno o más veces (signo + al final) del subpatrón (?:,\d{9}). el subpatrón en si significa lo mismo que el anterior, lo único que antes debe coincidir una coma (,). y la secuencia ?: es una instrucción que le dice al motor RegExp que no debe crear grupo de la subexpresión. esto último es opcional, según sea la necesidad. si lo eliminas, no hará diferencia en las coincidencias del patrón. la única diferencia es que algunas funciones podrían devolver más de un resultado.

ahora que lo vuelvo analizar, el patrón pudo haberse escrito así. el primer subpatrón ^\d{9}$ es redundante y se puede simplificar con el último subpatrón cambiando el cuantificador por asterísco (0 o más coincidencia):
Código:
/^\d{9}\-\d{9}$|^\d{9}(?:,\d{9})*$/
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 27/03/2013 a las 10:32