Regex

Résolu
merieml Messages postés 1 Date d'inscription jeudi 8 novembre 2018 Statut Membre Dernière intervention 8 novembre 2018 - Modifié le 8 nov. 2018 à 11:45
Whismeril Messages postés 18423 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 8 juin 2023 - 8 nov. 2018 à 16:26
Bonjour, j'essaye de verifier l'age mais je n'arrive pas car age est entier et matches fonctionne avec les sting , besoin d'aide svp
int age;
      Scanner sc = new Scanner(System.in);
      
      System.out.println("entrer votre nom");
      age = sc.nextInt();
      String exp1="^[0-9]{2}+$";
      
      System.out.print(age.matches(exp1));


EDIT : AJout des balises de code

1 réponse

Whismeril Messages postés 18423 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 8 juin 2023 624
8 nov. 2018 à 07:24
Bonjour,
Ce n’est pas un problème de regex mais « logique » de code.
Déjà, tu demandes le nom et tu lit l’âge. Y’a une incohérence dans le texte.

Pour ton souci:
  • soit tu lis l’age en string, tu le vérifiesavec la regex et tu le convertis en int.
  • soit tu le lis en int et tu le verifies avec >


A l’avenir, merci de poster ton code avec la coloration syntaxique, explications ici https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
KX Messages postés 16708 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 8 juin 2023 126
Modifié le 8 nov. 2018 à 14:46
Bonjour,

Petit ajout, quant à l'utilisation de la regex :
{2}+
est faux.
Soit on met
{2}
(exactement 2), soit on met
+
(au moins 1), mais pas les deux.

Pour moi une bonne regex pour l'âge (d'un humain) devrait être
1[0-2][0-9]|[1-9][0-9]|[0-9]
0
Whismeril Messages postés 18423 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 8 juin 2023 624
8 nov. 2018 à 16:26
Salut, en effet je n’ai même pas vérifié la regex. J’ai déplacé le sujet dans le forum Java et repondu sur le fond.
0