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 :

Expression régulière pour extraire une donnée


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 37
    Par défaut Expression régulière pour extraire une donnée
    Bonjour,

    J'aimerais extraire une information d'un fichier contenant le code HTML se trouvant entre la balise <a href......htm> et </a>.

    J'ai utilisé l'expression régulière suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resultat.append(value.replaceAll("<[^>]+>",""));
    mais ça ne m'a pas donné le résultat voulu.

    Quelqu'un saurait-il m'indiquer comment faire ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    Je ne comprends pas trop pourquoi cela ne marche pas. Pourrais-tu nous montrer le code qui prouve que ça ne marche pas ?

    Bon sinon, normalement il ne faut pas utiliser d'expression régulière pour ça. Il faut utiliser un parseur HTML
    L'exemple suivant illustre le problème :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="bidule.html" data-menuentry="main>cooking">Et là les données à extraire</a>

    Quand on rencontre le <a on peut très bien tomber sur un > qui ne sert pas à fermer la balise, mais qui est à l'intérieur d'un attribut. Une regex ne peut pas vraiment gérer tout le contexte nécessaire pour parser du HTML, c'est pour ça qu'il vaut mieux compter sur un parseur qui, lui, sait le faire correctement.
    (Bleh, même la coloration syntaxique du site ne sait pas le gérer -_-°)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Tu devrais passer par un XML Parser à la place de l'expression régulière. C'est beaucoup plus fiable et clair dans ce que tu manipule.

    Tutoriel sur le sujet :
    http://cynober.developpez.com/tutoriel/java/xml/jdom/

    Ainsi tu parse le fichier.html et tu recherche l'ensemble des enfants "a" et tu prends le contenu de ceux-ci.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    @thelvin Tu as un parser préféré ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  5. #5
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Moi, je conseillerais Jsoup qui est très simple d'utilisation.

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Pareil pour du HTML, et JDOM pour du XML.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 37
    Par défaut
    bon d’abord merci pour vos réponse j'ai cette phrase <a href="Su/ca-6529.htm">ca</a>
    je veux extraire le mot ca à l'aide d'une expression réguliers quand j'ai fait un essai sa ma donner tous le code HTML sauf ca comment je peux le réglé et merci

Discussions similaires

  1. Réponses: 7
    Dernier message: 02/11/2010, 13h36
  2. Expression régulière pour remplacer une apostrophe
    Par syrius31 dans le forum Langage
    Réponses: 3
    Dernier message: 04/04/2008, 20h34
  3. expression régulière pour reconnaitre une inclusion de fichier en c++
    Par cdm1024 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 27/11/2007, 13h49
  4. Expression régulière pour récupérer une chaîne.
    Par z980x dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 24/06/2007, 15h01
  5. expression régulière pour splitter des données suivant un masque
    Par LEK dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/04/2007, 07h02

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