Si te encuentras con algún detalle que no comprendes nos puedes dejar un comentario y haremos todo lo necesario de ayudarte lo mas rápido que podamos.
Solución:
Parece que quieres:
^[a-zA-Z][a-zA-Z0-9]*$
EXPLICACIÓN
^ afirma la posición al comienzo de una línea
Haga coincidir un solo carácter presente en la lista a continuación [a-zA-Z]
» az un solo carácter en el rango entre a (índice 97) y z (índice 122) (distingue entre mayúsculas y minúsculas)
» AZ un solo carácter en el rango entre A (índice 65) y Z (índice 90) (distingue entre mayúsculas y minúsculas)
Haga coincidir un solo carácter presente en la lista a continuación [a-zA-Z0-9]*
* Cuantificador — Coincidencias entre cero e ilimitadas veces, tantas veces como sea posible, devolviendo según sea necesario (codicioso)
az un solo carácter en el rango entre a (índice 97) y z (índice 122) (distingue entre mayúsculas y minúsculas)
AZ un solo carácter en el rango entre A (índice 65) y Z (índice 90) (distingue entre mayúsculas y minúsculas)
0-9 un solo carácter en el rango entre 0 (índice 48) y 9 (índice 57) (distingue entre mayúsculas y minúsculas)
$ afirma la posición al final de una línea
Manifestación
En caso de que los caracteres ASCII en algún momento no sean suficientes, aquí la versión Unicode:
^pL[pLpN]*$
pL
es cualquier punto de código Unicode que tenga la propiedad letra ==> Cualquier letra de cualquier idioma (es decir, en Unicode)
pN
es cualquier punto de código Unicode que tiene la propiedad número ==> Cualquier carácter de número de cualquier idioma (es decir, en Unicode)
^[a-zA-Z][a-zA-Z0-9]*$
¡Debería hacer el truco!
Alternativamente, si desea incluir todo alfanumérico más un guión bajo, puede usar:
^[a-zA-Z][w]*$
Si tienes alguna cuestión o disposición de modernizar nuestro ensayo puedes dejar una explicación y con gusto lo leeremos.