IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Je n'ai pas compris ce code


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2021
    Messages : 14
    Points : 10
    Points
    10
    Par défaut Je n'ai pas compris ce code
    Salut tout le monde, j'ai vu ce code dans un cours de Java mais je ne l'ai pas bien compris .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(str.matches("^0[0-9]+"))
    Pouvez-vous m'aider svp?

    Un grand merci d'avance !

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    boolean test = str.matches("^0[0-9]+");
    if(test)
    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).

    Citation Envoyé par https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html#matches(java.lang.String)
    Tells whether or not this string matches the given regular expression.

    Parameters:
    regex - the regular expression to which this string is to be matched

    Returns:
    true if, and only if, this string matches the given regular expression
    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.

    "^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

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2021
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Oui, mais je n'ai pas bien saisi l'utilité de ^0 au début et + à la fin.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    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

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2021
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Ouii j'ai compris, je vous remercie énormément !

Discussions similaires

  1. Un code que j'ai pas compris
    Par anfernus dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/07/2010, 18h13
  2. Sudoku : je n'ai pas compris le code
    Par sidahmed dans le forum Prolog
    Réponses: 3
    Dernier message: 12/03/2007, 00h01
  3. [conteneur/composant] pas compris la notion !
    Par ETI-trian dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 02/02/2006, 18h07
  4. new Option : ne marche pas quand le code est en alpha ???
    Par Leoxp dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/12/2005, 15h23
  5. LIKE de tout ce qui n'est pas compris entre a<-&
    Par DjinnS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/07/2003, 13h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo