9
votes

NO DIGTS Modèle Java Regex

Je veux un motif de regex Vérifiez que la chaîne ne contient aucun chiffre.

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?


2 commentaires

À 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 La classe elle-même est plus rapide que toute regex.


4 Réponses :


2
votes

Essayez: \ d

Voir le Javadoc pour Modèle


0 commentaires

20
votes

\ d est un non-chiffré, et alors \ d * est un nombre quelconque de non-chiffres d'une ligne. Donc, votre chaîne entière doit correspondre à \ d * .


1 commentaires

Cette refente va bien si vous utilisez la méthode correspondance () . Si vous utilisez trouver () , vous obtiendrez toujours une correspondance, des chiffres ou non. Si, pour une raison quelconque, vous avez dû utiliser trouver () vous auriez besoin d'ancrer la regex: ^ \ d * $



0
votes

Noms de puits habituellement alphabétique, donc ce sera bon: [A-B, A-Z, -] +

EDIT: [A-ZA-Z- ',] +


3 commentaires

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 ? N'est-ce pas censé être a-z ?


ASCII n'est pas le seul Charset ; Qu'en est-il des noms avec 'ç', 'ã', 'ä', 'à', 'œ', ...



3
votes

\ a \ d * \ z

Une bonne regex Feuille de triche ici


0 commentaires