Salut tout le monde, j'ai vu ce code dans un cours de Java mais je ne l'ai pas bien compris .
Pouvez-vous m'aider svp?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if(str.matches("^0[0-9]+"))
Un grand merci d'avance !
Salut tout le monde, j'ai vu ce code dans un cours de Java mais je ne l'ai pas bien compris .
Pouvez-vous m'aider svp?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if(str.matches("^0[0-9]+"))
Un grand merci d'avance !
if permet d’exécuter du code si le résultat d'un test est true (vrai). Donc on peut supposer que str.matches("^0[0-9]+") invoque une méthode nommée matches() sur l'objet str avec la valeur "^0[0-9]+" en unique paramètre et que cette methode retourne la valeur booléenne vrai ou faux.
Une autre manière d’écrire ce code est :
Si str est un objet de type String, il se trouve qu'il existe une méthode matches() dont la signature correspond (méthode d'instance, 1 seul paramètre de type String et retourne une valeur booléenne).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 boolean test = str.matches("^0[0-9]+"); if(test)
Cette méthode test si l'objet sur laquelle on l'invoque valide l'expression régulière passe en argument et retourne vrai ou faux si le test fonctionne.Envoyé par https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html#matches(java.lang.String)
"^0[0-9]+" est une expression régulière qui décrit une suite constituée de caractères numériques qui débute par le chiffre 0 et contient ensuite entre 1 et une infinité de chiffres compris entre 0 a 9.
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Oui, mais je n'ai pas bien saisi l'utilité de ^0 au début et + à la fin.
En même temps il a pas tort... Le ^ au début est en fait parfaitement inutile.
Ça signifie "ici il doit y avoir le début de la chaîne testée". Donc il faut que le début de la chaîne testée soit au début, sans blague ! Complètement inutile.
^ et $ ne servent que quand des cas bien particuliers. La plupart du temps quand ils ont été mis, la personne qui les a mis ne sait pas ce que ça veut dire.
Quant au 0 après, il n'a rien à voir avec le ^. C'est juste que la regex cherche des nombres qui commencent par 0.
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Ouii j'ai compris, je vous remercie énormément !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager