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

VB.NET Discussion :

Expression régulières et TAGs


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4
    Par défaut Expression régulières et TAGs
    Salut tout l'monde,

    Mon pb est que je voudrai par le moyen d'une expression régulière capturer tout c'qui n'est pas entre des TAGs. Par exemple dans un fichier html, je voudrai obtenir toutes les parties sauf les tableaux, cad que je ne veux pas de tout c'qui se trouve entre <table ...... </table>. Je ne veux pas non plus capturer les <table et </table>.

    Voilà! Si qqun a une idée, j'veux bien la connaître!

  2. #2
    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 devrais faire une recherche sur google avant de demander ici. Il existe des milliers d'exemples de ce type. C'est comme si tu demandais un Hello World en C#.
    Alors un conseil, donne toi la peine de chercher avant.
    Cela ne servirait à rien que l'on te donne la réponse vu qu'après tu ne saurais toujours pas de te servir des expressions rationnelles.

    Cela dit, voici quelques points que tu peux utiliser :
    - Utiliser la fonction Replace
    - Ecrire une expression qui match tout ce qui commence et termine par les tags table qui vont bien
    - Le plus important est d'utiliser des quantifieurs paresseux pour ne pas supprimer ce qui pourrait se trouver entre deux tableaux.

    Je te laisse te renseigner sur tout ç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

  3. #3
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Déja il faut récupérer le code source de ta page avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     Function Get_request(ByVal url As String, Optional ByVal proxy As String = Nothing, Optional ByVal proxyport As Integer = Nothing) As String
     
            Dim readstr As IO.StreamReader 'on crée un objet streamreader
     
            Try
     
                If proxy <> Nothing And proxyport <> Nothing Then 'on execute ceci que si les deux arguments optionels ont été passés (proxy et port)
                    Dim hproxy As WebProxy 'on crée l'objet proxy
                    hproxy = New WebProxy(proxy, proxyport) 'on defini hproxy avec les valeurs données
                    GlobalProxySelection.Select = hproxy 'on applique le proxy
                End If
                Dim hwebrequest As System.Net.WebRequest = System.Net.WebRequest.Create(url) 'on crée la requete web
                Dim hwebresponse As System.Net.WebResponse = hwebrequest.GetResponse 'on crée un objet de reponse a notre requete
                readstr = New IO.StreamReader(hwebresponse.GetResponseStream) 'on redefini notre streamreader avec la reponse à la requete en argument
                Return readstr.ReadToEnd() 'on renvoie l'ensemble du resultat
                readstr.Close() 'on ferme l'objet
            Catch ex As Exception
                Return ex.Message.ToString ' en cas d'erreur, on renvoie la description de l'erreur
                readstr.Close()
            End Try
        End Function
    Ensuite il faut analyser le code avec les fonctions présentes dans le framework. Tu parcours le code en lisant 7 caractères en meme temps (<table>) et tu ecris les données et dès que tu trouves ton tag tu arretes d'ecrire tes données et dès que tu retrouves (<table/) alors tu réecris les données.

    Et voila tu as ce dont tu voulais dans ton fichier

    J'espère avoir été clair bien que ma méthode ne soit pas la meilleur !
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/08/2011, 02h33
  2. Expression réguliére
    Par Mad_Max dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 16/09/2003, 19h17
  3. [expression régulière] mon cerveau fait des noeuds..
    Par nawac dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 27/05/2003, 11h06
  4. Expressions réguliéres
    Par Tooms dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2002, 19h42
  5. Réponses: 5
    Dernier message: 11/06/2002, 16h21

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