J'ai besoin d'une expression régulière pour permettre à l'utilisateur d'entrer une chaîne alphanumérique qui commence par une lettre (pas un chiffre).Expression régulière (alphanumérique)
Répondre
Cela devrait fonctionner dans des moteurs d'expressions régulières (RE). Il y a une plus belle syntaxe dans le monde PCRE mais je préfère la mienne pour pouvoir courir partout:
^[A-Za-z][A-Za-z0-9]*$
Fondamentalement, le premier caractère doit être alpha, suivie par zéro ou plusieurs caractères alphanumériques. Les balises de début et de fin sont là pour s'assurer que toute la ligne est appariée. Sans ceux-ci, vous pouvez faire correspondre le AB12
de la chaîne "@@@AB12!!!"
.
explication complète:
^ start tag.
[A-Za-z] any one of the upper/lower case letters.
[A-Za-z0-9] any one of the upper/lower case letters or digits,
* repeated zero or more times.
$ end tag
Mise à jour:
Comme Richard Szalay souligne à juste titre, cela est uniquement l'ASCII (ou, plus exactement, tout schéma de codage où l'AZ, az et 0- 9 groupes sont contigus) et seulement pour les lettres "anglaises". Si vous voulez de vrais RE internationalisés (vous seul savez si c'est une exigence), vous devrez utiliser l'un des moteurs RE les plus appropriés, comme le PCRE mentionné ci-dessus, et vous assurer qu'il est compilé pour le mode Unicode. Ensuite, vous pouvez utiliser des "caractères" tels que \p{L}
et \p{N}
pour les lettres et les chiffres respectivement. Je pense que le RE dans ce cas serait:
^\p{L}[\pL\pN]*$
mais je ne suis pas certain. Je n'ai jamais utilisé les RE pour nos logiciels internationalisés. Voir here pour plus que ce que vous avez toujours voulu savoir sur PCRE.
ya ça fonctionne M.Paxdiablo merci beaucoup –
Pour info, cette syntaxe est limitée au jeu de caractères ASCII. –
Je pense que cela devrait faire le travail:
^[A-Za-z][A-Za-z0-9]*$
Pourquoi avez-vous inclus la balise de début mais pas la fin? J'aurais pensé que vous les laisseriez tous les deux (ce qui fonctionnera dans les appels qui correspondent à une ligne entière de toute façon) ou les mettriez tous les deux (ce qui fonctionnera dans les appels de match ou de match de ligne). – paxdiablo
OK. Ajoutée. Tu as raison. –
Vous cherchez un modèle comme celui-ci:
^[a-zA-Z][a-zA-Z0-9]*$
Que l'on exige une lettre et un certain nombre de lettres/chiffres après . Vous voudrez peut-être ajuster les longueurs autorisées.
merci Mr.ojrac ça marche –
- 1. Expression régulière correspondant à la chaîne alphanumérique
- 2. Expression régulière PHP remplacer?
- 3. Expression alphanumérique d'expressions régulières avec espace
- 4. PHP Expression régulière Aide
- 5. Expression régulière ou opérateur
- 6. Expression régulière pour trouver une expression régulière?
- 7. expression régulière "contient" une autre expression régulière
- 8. problème dans l'expression régulière alphanumérique en javascript
- 9. expression régulière
- 10. expression régulière
- 11. Expression régulière
- 12. expression régulière
- 13. Expression régulière
- 14. Expression régulière dans PL/SQL
- 15. Expression régulière correspondant à tout sauf une expression régulière donnée
- 16. Expression régulière correspondant à une expression régulière valide
- 17. expression régulière simple remplacement
- 18. expression régulière dans vim
- 19. Quickie expression régulière coincé
- 20. Expression régulière dans Asp.Net
- 21. Python. Expression régulière
- 22. expression régulière aide
- 23. Expression régulière Sanitize (PHP)
- 24. python: expression régulière multiligne
- 25. expression régulière .NET
- 26. Expression régulière Question
- 27. Expression régulière pour extraire
- 28. c expression régulière howto
- 29. lookaround expression régulière
- 30. Email expression régulière
Si vous ne comprenez pas les modèles RegEx, vous devriez vous pencher sur les outils qui les aident à les expliquer, comme par exemple les modèles expresso et regex. – dlamblin
+1 pour RegexBuddy –