2012-10-05 26 views
11

Estoy tratando de crear una expresión regular para que coincida con una cadena con el siguiente criterioCómo regex una cadena - Longitud 8, primera letra carácter y la restante numérico

  • Longitud 8
  • El primer carácter debe ser una letra az o AZ
  • El restante 7 debe ser numérico 0-9

ejemplos

  • a5554444
  • B9999999
  • c0999999

Esto es lo que tengo hasta ahora

^[0-9]{8}$ 

¿Qué me falta para comprobar el primer carácter? Intenté

^[a-zA-Z][0-9]{8}$ 

pero eso no está funcionando.

Respuesta

36

creo que esto es lo que quiere:

^[a-zA-Z][0-9]{7}$ 

la {...} metacarácter única coincide con el patrón más anterior que en su caso es [0-9]. la interpretación de expresiones regulares es la siguiente:

  1. inicio al comienzo de la cadena (^)
  2. partido de cualquier az carácter o AZ ([a-zA-Z]) en el primer lugar sólo una vez
  3. partido cualquier carácter 0-9 comenzando en el segundo punto ([0-9])
  4. el patrón precedente mencionado en el paso 3 de [0-9] debe existir exactamente 7 veces ({7})

Cuando coloca {8} según su pregunta original, asumirá un total de longitud de cadena de 9: el primer carácter es insensible a mayúsculas y minúsculas y los 8 caracteres restantes son numéricos.

+0

Gracias por la respuesta detallada. –

Cuestiones relacionadas