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

Langage Java Discussion :

[Regex] Que signifie cette expression


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 29
    Points : 26
    Points
    26
    Par défaut [Regex] Que signifie cette expression
    Hello,

    je reprends un projet et je suis tombé sur cette ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String[] textParts = ((Text)data).getText().split("[{}]");
    et je ne comprends pas bien la pattern utilisée dans le "split"

    Pourriez-vous m'éclairer?

    D'avance merci.

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    "Regexp", c'est une expression régulière. Celà permet de faire des recherches très puissantes sur les chaînes de caractères, en capturant éventuellement des sous-chaînes:

    - les chaînes contenant (ou ne contenant pas) un mot donné
    - les chaînes représentant un nombre (quel qu'il soit)
    - etc...

    Dans ton cas, la chaîne es t découpée à chaque caractère "{" et à chaque caractère "}".

    Ainsi: "Bonjour {Mathieu}, je vais manger" sera découpée en 3 morceaux:
    - "Bonjour " (découpage car on a rencontré "{")
    - "Mathieu" (découpage car on a rencontré "}")
    - ", je vais manger"

    Entre les crochets [] de ton expression, tu as la liste des caractères pour lesquels on effectue un découpage.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 29
    Points : 26
    Points
    26
    Par défaut
    Merci bien! je n'étais pas du tout sûr car les {} sont aussi utilisées pour quantifier une chaine d'où mon hésitation...

  4. #4
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Oui, mais dans une expression régulière, tout ce qui est entre crochets [] n'est plus interprêté comme un opérateur spécial du langage des expressions régulières, mais comme un simple caractère.

    Si cette phrase n'est pas claire, je m'explique:
    - "[.]" acceptera uniquement le caractère '.', et non pas un caractère quelconque
    - [.+*] acceptera un des 3 caractères '.', '*', ou '+'

  5. #5
    Membre éclairé Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 672
    Points
    672
    Par défaut
    S'il n'y avait qu'une seule chose à rajouter à ce que vient de dire CyberChouan c'est que tu peux trouver toutes les fonctions sur les regex dans la javadoc de sun
    http://java.sun.com/j2se/1.5.0/docs/api/
    Dans le package : java.util.regex

    Plus précisement ici : http://java.sun.com/j2se/1.5.0/docs/...x/Pattern.html

    A savoir que la javadoc est surement pas le meilleur moyen pour bien comprendre les regex et que si tu en as jamais fait, ca peut te paraitre de l'hebreux.

    Bonne chance

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 29
    Points : 26
    Points
    26
    Par défaut
    Ca je ne le savais pas. Merci beaucoup pour tes éclaircissements

    Je passe le post en résolu.

    Edit : merci aussi a Zorm

  7. #7
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Bien vu Zorm, mais tu as oublié l'excellent tutoriel de Hugo Etiévant sur les expressions régulières en java, qui est disponible sur developpez.com:

    http://cyberzoide.developpez.com/java/regex/

    C'est avec ce dernier que j'ai débuté sur les expressions régulières.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Février 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 29
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par CyberChouan
    Bien vu Zorm, mais tu as oublié l'excellent tutoriel de Hugo Etiévant sur les expressions régulières en java, qui est disponible sur developpez.com:

    http://cyberzoide.developpez.com/java/regex/

    C'est avec ce dernier que j'ai débuté sur les expressions régulières.
    vi c'est mon support principal quand je bosse sur des regex ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Que signifie cette syntaxe de code ?
    Par SPACHFR dans le forum C
    Réponses: 4
    Dernier message: 02/05/2007, 13h24
  2. Que signifie cette commade sed ?
    Par karimspace dans le forum Administration système
    Réponses: 1
    Dernier message: 24/08/2006, 19h39
  3. Que signifie cette erreur de compilation ?
    Par Premium dans le forum C
    Réponses: 14
    Dernier message: 22/05/2006, 23h16
  4. [SQL-Server] 'Bad column offset' que signifie cette erreur ?
    Par dor_boucle dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 08/02/2006, 15h01
  5. [SQL][DERBY] Que signifie cette erreur ?
    Par irenee dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/12/2005, 14h34

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