Regex [Résolu]

Signaler
Messages postés
1
Date d'inscription
jeudi 8 novembre 2018
Statut
Membre
Dernière intervention
8 novembre 2018
-
Messages postés
14883
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
28 mai 2020
-
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

Messages postés
14883
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
28 mai 2020
409
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
Messages postés
16221
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
20 mai 2020
92
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]
Messages postés
14883
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
28 mai 2020
409
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.