2011-05-18 14 views

Respuesta

6

Si su motor de expresión regular tiene zero width negative lookahead, entonces:

/\b((?!91)[0-9]{22})\b/ 

(?!91) hace que el patrón que corresponda sólo si los dos caracteres siguientes no son 91, pero no consume esos caracteres, lo que les deja ir acompañado de [0-9]{22} .

Muchos motores de expresiones regulares también permiten \d para los dígitos decimales. Si es tu caso, entonces:

/\b((?!91)\d{22})\b/ 
+0

¡Bingo! Eso funcionó perfectamente. Gracias. – user77413

+0

@ user77413, De nada, y gracias por la marca de verificación. –

2

Prueba esto:

/\b(?:[0-8][0-9]|9[02-9])[0-9]{20}\b/ 
+0

(el lookahead negativo es definitivamente mejor, si es compatible) – Kobi

+0

Y si no se admite el lookahead negativo, este es el camino a seguir. –

Cuestiones relacionadas