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 :

Difficulté avec Regex


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 26
    Par défaut Difficulté avec Regex
    Bonjour,

    J'ai quelque difficulté a utiliser les expressions régulière.

    Voila mon probleme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    private String val1 ="{1234;02;02;33;33}test;hh$$ qsdfghj {2334;02;02;33;34}test;hh$$ sefdsfdsfsdfds  {1234;02;02;33;33}test;hh$$ ";   
     
        public void Tx() { 
            Pattern p = Pattern.compile("([{][0-9]{4}[;][0-9]{2}[;][0-9]{2}.*[$]{2})+");
            Matcher m = p.matcher(val1);
            boolean b = m.matches();
            if(b) {
                for(int i=0; i<=m.groupCount(); i++) {
                    System.out.println("Groupe " + i + " : " + m.group(i));
                }
            }
    Je veux extraire d'un chaîne de caractère tout les groupes de type {4 int;2 int F1;2 int F2;correspond aus nombrex params F1} Texte; (Nombre de param correspond aux nombres F2)$$ (Se termine par $$).
    Entre ces groupes il peux il y a du texte. J'ai essayer de faire une petite fonction sans grand résultat.

    Si vous pouvez m'aidé ?

  2. #2
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Perso j'ai pas tout compris à ton problème, à la structure de ta chaîne et au résultat attendu

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 26
    Par défaut
    Oui désolé cela n'était pas trop explicite.

    La chaîne de caractère commence par { suivit de 4 chiffres séparé par un ; suivit par 2 chiffres séparés par un ; suivit par 2 chiffre séparés par un ; suivit des paramètres tous séparé par des ; ce termine par } suivit de paramètres tous séparés par des ; se termine en fin par $$

    Exemple : {1234;02;01;params02-1;params02-2}params01-1$$

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Par défaut
    Bonjour,

    Veux-tu récupérer {1234;02;01;params02-1;params02-2}params01-1$$ comme un bloc, ou souhaites-tu également récupérer les sous-ensembles 1234 02 01 params02-1 params02-2, etc... ?

    Nicolas

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 26
    Par défaut
    Re,
    Exemple : {1234;02;02;33;33}test;hh$$ test1 {2334;02;02;33;34}test;hh$$ $^mljJKml {1234;02;02;33;33}test;hh$$

    Je veux recupéré par exemple dans cette chaine :
    1 Groupe : {1234;02;02;33;33}test;hh$$
    2 Groupe : {2334;02;02;33;34}test;hh$$
    3 Groupe : {1234;02;02;33;33}test;hh$$

    Apres pour les 2 groupes test1 et $^mljJKml je pense que je pourais y arriver .

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Par défaut
    Serait-il suffisant d'identifier tous les blocs de la forme {...$$ ?

    Ou bien veux-tu également t'assurer que la structure interne des blocs est bonne :
    {4chiffres;2chiffres;2chiffres[;nimportequoi]*}nimportequoi[;nimportequoi]*$$

    Désolé de ces questions. C'est dans le but de bien comprendre ton besoin...
    Nicolas

Discussions similaires

  1. Difficultés avec une regex ou charset
    Par lecroquant dans le forum Langage
    Réponses: 0
    Dernier message: 08/01/2012, 14h00
  2. [PowerShell] Difficultés avec les regex
    Par julie75 dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 10/10/2011, 14h11
  3. [Regex] Difficulté avec des mots accentués
    Par p1xl_01 dans le forum Langage
    Réponses: 2
    Dernier message: 17/08/2011, 16h51
  4. Réponses: 10
    Dernier message: 22/10/2010, 18h37
  5. Difficultés avec TMenuItem.OnDrawItem
    Par ybruant dans le forum Composants VCL
    Réponses: 4
    Dernier message: 12/01/2005, 11h07

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