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

C# Discussion :

Capturer un <a></a> avec une regex


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de mioux
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2005
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 369
    Par défaut Capturer un <a></a> avec une regex
    Salut

    Je cherche à capturer le href d'un <a> ainsi que son contenu, mais je n'ai pas trouvé d'expression régulière qui me permettes d'exclure le </a>

    Je m'explique

    J'utilise l'expression régulière suivante :
    <a\s[^<>]*href="([^"<>]*)"[^<>]*>(.*)</a>
    Je l'ai pas mis dans une balise code, car il s'agit là de l'expression régulière en elle même
    Elle fonctionne sauf si j'ai 2 liens

    C'est à dire que avec
    <a href="http://www.example.com"><img src="http://www.example.com/example.jpg" /></a>"
    aucun problème, ma première variable capturée est :
    et ma deuxième variable capturée
    <img src="http://www.example.com/example.jpg" />
    Seulement si il y a 2 liens, je capture uniquement le contenu entre le premier <a> et le dernier </a>

    En gros avec
    <a href="http://www.example.com"><img src="http://www.example.com/example.jpg" /></a><a href="autrelien">autre texte</a>
    je capture
    et
    <img src="http://www.example.com/example.jpg" /></a><a href="autrelien">autre texte
    Une idée pour exclure les </a> de mes parenthèses ?

    J'ai essayé pas mal de truc, mais je sais pas comment on exclut une expression (j'ai essayé ^(?:</a>) mais c'est pas ca :'( )

  2. #2
    Membre expérimenté Avatar de scifire
    Inscrit en
    Juillet 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 226
    Par défaut
    Salut.
    Tu dois utiliser une expression reguliere avec un quantificateur non-gourmand.
    Donc ton expression devient
    <a\s[^<>]*href="([^"<>]*)"[^<>]*>(.*?)</a>
    Bon courage

  3. #3
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Tu peux utiliser quelquechose de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a.*?href="(?<href>.*?)"[\>]*>(?<contenu>.*?)</a>
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  4. #4
    Membre éclairé Avatar de mioux
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2005
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 369
    Par défaut
    Merci pour l'astuce ca fonctionne

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

Discussions similaires

  1. Capture d’écran et transformation de Div en image avec Javascript
    Par jawharsidhom dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/11/2013, 17h56
  2. Capture nom de fichier pour envoi de mail avec PJ
    Par Graineur dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 15/03/2011, 13h45
  3. Réponses: 1
    Dernier message: 18/03/2009, 00h34
  4. Réponses: 2
    Dernier message: 14/04/2007, 12h33
  5. Capture d'une image avec une webcam
    Par Freyja dans le forum Linux
    Réponses: 2
    Dernier message: 09/08/2006, 12h35

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