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

Collection et Stream Java Discussion :

Expression régulière pour récupérer une chaîne.


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 113
    Points : 48
    Points
    48
    Par défaut Expression régulière pour récupérer une chaîne.
    Bonjour à tous,

    j'aimerais utiliser les expressions régulières pour remplacer un texte par le texte trouvé... Je m'explique, parce que c'est pas très clair tout ça... lol

    En fait, je parcours un fichier HTML qui comporte des liens sous la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    - <a href="mapage.htm" class="monlien">Le nom de la page</a><br>
    Donc en fait, je voudrais rechercher toutes les lignes sur ce modèle, et les remplacer par qqchose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    - <img src="del.jpg" onclick="delete('mapage.htm');"><a href="mapage.htm" class="monlien">Le nom de la page</a><br>
    Vous l'aurez compris, je veux rajouter une image juste avant ce lien, avec l'appel d'une fonction pour supprimer la page récupérer dans le href du lien.

    Le problème, c'est que je ne sais absolument pas comment faire en java (ni en d'autre langage d'ailleurs), pour faire cela... J'ai cru voir quelque part un truc avec des $ pour récupérer certaines variables, mais comment ca marche???

    Merci de m'éclairer à ce sujet !

    Philippe

  2. #2
    Futur Membre du Club
    Inscrit en
    Avril 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Salut,

    Essaie qq chose ds le genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Pattern p = Pattern.compile("<a href=\"(.+)\" class=\"monlien\">Le nom de la page</a><br>");
    Matcher m = p.matcher("");
    String line="<a href=\"mapage.htm\" class=\"monlien\">Le nom de la page</a><br>";
     
    m.reset(line);
    if(m.find()){
      System.out.println("<img src=\"del.jpg\" onclick=\"delete(\'"+m.group(1)+"\');\">"+line);
    }
    Mathieu

  3. #3
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 113
    Points : 48
    Points
    48
    Par défaut
    Bonjour,

    je te remercie pour ta réponse, elle m'a vraiment bien aidé.
    Cependant, j'ai dû refaire l'expression régulière. En effet, la tienne ne s'arrétait pas au guillemet fermant du href et prenait donc tout.

    Donc, au lieu du (.+) j'ai écris: ([^\"]+)

    En tous cas, merci pour la gestion des "groups", je sais maintenant comment ça marche !

    Philippe

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

Discussions similaires

  1. Cherche Expression rationnelle pour isoler une chaîne
    Par ritual dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 18/08/2008, 14h31
  2. [RegEx] Regex pour récupérer une chaîne de 6 chiffres
    Par calitom dans le forum Langage
    Réponses: 5
    Dernier message: 12/06/2008, 21h37
  3. Expression régulière pour remplacer une apostrophe
    Par syrius31 dans le forum Langage
    Réponses: 3
    Dernier message: 04/04/2008, 20h34
  4. 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
  5. Expression régulière pour récupérer le nom d'un fichier
    Par calimero2611 dans le forum Langage
    Réponses: 5
    Dernier message: 24/02/2006, 19h00

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