2011-12-11 18 views
12

tengo esta expresión regular: /[^a-zA-Z0-9_-]/de expresiones regulares (primer carácter debe ser az)

Lo que quiero añadir a la anterior es:

  • primer carácter sólo puede haber a-zA-Z

Cómo Podría hacer esta expresión regular?

+1

¿En qué idioma? ¿Con qué debe coincidir el * rest * de la expresión regular? Su expresión regular actual coincidirá con cualquier cadena que contenga al menos un carácter que no sea alfanumérico o un guión bajo o un guión: ¿es eso lo que pretendía? – Johnsyweb

+0

esto se usará para el nombre de usuario del sitio web, el primer carácter se debe elegir de a-zA-Z y el usuario puede usar a-zA-Z, 0-9, _ y - –

Respuesta

26

intentar algo como esto:

^[a-zA-Z][a-zA-Z0-9.,$;]+$ 

Explicación:

^    Start of line/string. 
[a-zA-Z]   Character is in a-z or A-Z. 
[a-zA-Z0-9.,$;] Alphanumeric or `.` or `,` or `$` or `;`. 
+    One or more of the previous token (change to * for zero or more). 
$    End of line/string. 
+3

Esto es bastante diferente a la expresión regular en la pregunta (el '^' está dentro del '[]', no antes). – Johnsyweb

+1

... ¡pero aparentemente era lo que se requería! ¡Bien hecho! – Johnsyweb

6

Creo que esto también funcionaría

^[a-zA-Z].* 

Si quería probar sólo el primer carácter de ser alfabético y el resto de la cadena puede ser cualquier cosa.

Cuestiones relacionadas