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

Java Discussion :

Récupérer la valeur entre 2 balises en utilisant Regex


Sujet :

Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Récupérer la valeur entre 2 balises en utilisant Regex
    Bonsoir ,
    je voudrais récuperer la valeur entre 2 balises en utilisant les expressions régulieres ,le fichier a traiter porte la structure suivante:
    <debut>toto test .....<fin>
    <debut>
    toto
    test
    <fin>
    pour les balises qui sont dans la meme ligne y'a pas de prob mais les autres balises ne sont pas traitées par le pattern .j'ai essayer avec Pattern.DOTALL et Pattern.MULTILINE mais ca marche pas.
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pattern = Pattern.compile("<debut>(.*?)<fin>",Pattern.MULTILINE);
    si quelqu'un peut m'aider je serais tres reconnaisant
    merci

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Entrepreneur
    Inscrit en
    Avril 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Entrepreneur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Essaye l'option singleline
    => Traiter le tout comme une seule ligne et donc ignorer = récupérer aussi les retours à la ligne.

  3. #3
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 621
    Points : 15 704
    Points
    15 704
    Par défaut
    Bizarre, avec le paramètre Pattern.DOTALL, ça devrait fonctionner.
    On peux voir plus de ton code?

  4. #4
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 6 887
    Points
    6 887
    Par défaut
    Citation Envoyé par new123 Voir le message
    Bonsoir ,
    je voudrais récuperer la valeur entre 2 balises en utilisant les expressions régulieres ,le fichier a traiter porte la structure suivante:
    <debut>toto test .....<fin>
    <debut>
    toto
    test
    <fin>
    pour les balises qui sont dans la meme ligne y'a pas de prob mais les autres balises ne sont pas traitées par le pattern .j'ai essayer avec Pattern.DOTALL et Pattern.MULTILINE mais ca marche pas.
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pattern = Pattern.compile("<debut>(.*?)<fin>",Pattern.MULTILINE);
    si quelqu'un peut m'aider je serais tres reconnaisant
    merci
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pattern.compile("<debut>(.*?)<fin>",Pattern.MULTILINE | Pattern.DOTALL).find()
    Citation Envoyé par Cat01 Voir le message
    Essaye l'option singleline
    => Traiter le tout comme une seule ligne et donc ignorer = récupérer aussi les retours à la ligne.
    Elle est où cette option ?

  5. #5
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 621
    Points : 15 704
    Points
    15 704
    Par défaut
    Dans ce cas précis, le Pattern.MULTILINE ne sert a rien vu qu'il modifie seulement le comportement de "^" et "$" pour qu'il s’arrêtent en début et fin de ligne. Il est vrai que le nom multiline est assez trompeur.

    Ce que Cat01 appelle "l'option singleline" est probablement le paramètre Pattern.DOTALL qui permet à ce que le "." mange également les caractères de retour à la ligne.

  6. #6
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 6 887
    Points
    6 887
    Par défaut
    Effectivement, je me suis un peu précipité sur l'utilisation conjointe de deux flags sans vérifier la signification du MULTILINE

Discussions similaires

  1. Récupérer valeur entre des balises script
    Par lirycs78 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/10/2010, 14h07
  2. Expression régulière - Récupérer la valeur entre 2 balises
    Par redkan dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 28/02/2009, 14h46
  3. [MySQL] Récupérer la valeur d'un balise <option>
    Par !NyThaX&& dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 07/09/2007, 16h07
  4. [SAX] Comment récupérer un String entre deux balise xml?
    Par L4BiN dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 23/06/2006, 09h02
  5. [Balise XML] Comment récupérer le contenu entre 2 balise?
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 5
    Dernier message: 05/03/2004, 16h36

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