2012-03-22 17 views
8

Estoy tratando de escribir un RegEx que comience con el número 0 o cualquier letra (básicamente no puede comenzar con 1-9). También debe ser de 13 caracteres de longitudRegEx Comience con letra o número 0

tengo esta pero no parece funcionar:

"^[0][a-zA-Z]{13}" 
+0

Su RegEx se traduce en " '0' seguido de 13 letras" –

+0

¿es esta tarea – gbulmer

+0

@gbulmer no es tarea trabajando en hacer una búsqueda que lo hará..?. realizar tipos específicos de búsquedas basadas en la entrada de los usuarios. – mint

Respuesta

14

Prueba esta expresión regular en su lugar:

"^[0a-zA-Z].{12}$" 

[0a-zA-Z] significa "un carácter, que es ya sea un 0, uno de az, o uno de AZ ".

.{12} significa doce caracteres más, sean lo que sean.

+0

Gracias por explicar. Esto funcionó muy bien. Tenía algo similar anteriormente pero no usé el. {12} y wa s usando {13} en su lugar. – mint

+1

Si quisiera que los últimos doce fueran números, ¿haría '"^[0a-zA-Z] [0-9]. {12} $ "'? – mint

+3

@mint '"^[0a-zA-Z] [0-9] {12} $ "' – gbulmer

1

Usted está buscando algo como esto:

^[0\w]\S{12}$ 

Esto establece el primer carácter debe ser 0 o un carácter de palabra. Seguido por exactamente 12 caracteres que NO son espacios en blanco (esto permite 0-9, caracteres y caracteres especiales. Repape el \ S con lo que quiera. Tal como [0-9 \ w]

Un gran patio de recreo para probar expresiones regulares se encuentra en: http://regexpal.com/ lo uso constantemente para probar expresiones regulares

Cuestiones relacionadas