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 tagquand 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.
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