Je veux un motif de regex Vérifiez que la chaîne ne contient aucun chiffre. P>
Pour illustration: Je codifie un système hospitalier et je souhaite de l'utilisateur saisir le nom du patient, bien sûr, le nom ne doit contenir aucun chiffre, comment puis-je le faire par regex? p>
4 Réponses :
\ d code> est un non-chiffré, et alors
\ d * code> est un nombre quelconque de non-chiffres d'une ligne. Donc, votre chaîne entière doit correspondre à
\ d * code>. P>
Cette refente va bien si vous utilisez la méthode correspondance () code>. Si vous utilisez
trouver () code>, vous obtiendrez toujours une correspondance, des chiffres ou non. Si, pour une raison quelconque, vous avez dû utiliser
trouver () code> vous auriez besoin d'ancrer la regex:
^ \ d * $ code>
Noms de puits habituellement alphabétique, donc ce sera bon: EDIT: [A-B, A-Z, -] + code> P>
[A-ZA-Z- ',] + code> p>
Qu'en est-il des noms qui incluent une apostrophe?
Pourquoi avez-vous toutes ces virgules là-bas? Tout ce qu'ils font, c'est correspondre à une virgule littérale dans la chaîne cible. Et ce qui est avec la plage a-b code>? N'est-ce pas censé être
a-z code>?
ASCII n'est pas le seul Charset i>; Qu'en est-il des noms avec 'ç', 'ã', 'ä', 'à', 'œ', ...
À moins que, bien sûr, il est légal d'avoir un nom qui inclut des chiffres. J'ai vu des noms étranges au fil des ans.
JALL: SQL ne concerne pas cette question. Aussi, je pense que vérifier pour les chiffres avec regex est un peu surpuge, certainement si vous vous attendez à une certaine forme pour le nom, c'est bien, mais je suis prêt à parier qu'à utiliser l'une des méthodes d'assistance dans
caractère Code> La classe elle-même est plus rapide que toute regex.