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 :

Regex retour à la ligne


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 44
    Par défaut Regex retour à la ligne
    Bonjour, je suis entrain de faire un screen scraping sur une page html.

    Dans le html il y a ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Feeding</font><br />
    <br />
    qui se traduit par ça dans le flux que je récupère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feeding</font><br />\r\n<br />
    Ma regex suivante fonctionne dans mon programme en c#
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Feeding</font><br />
    <br />
    mais pas celle-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    </font><br />\\r\\n<br />
    Alors que c'est l'inverse dans ce testeur de Regex.

    Une idée de la raison ?

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut
    Programme fait un .net pour tester des expressions régulière: http://www.radsoftware.com.au/regexdesigner/

    Tu as l'avantage qu'il fonctionne avec le même moteur

    Est-ce que tu peux donner exactement la ligne avec le regex?

    Tu as essayé avec ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @"</font><br />\r\n<br />"

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 44
    Par défaut
    Le site que j'essaie de scanner déconne, je verrais ça demain.

  4. #4
    Membre très actif Avatar de polkduran
    Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 155
    Par défaut
    je travaille souvent avec des regex et html en c# et je me suis rendu compte que des fois en plus d'avoir des \r\n entre les balises tu as d'autres caractères, en fait j'ai vu que le texte html dépend de la façon de le récupérer (stream, texte, dom) alors ce que je fais pour avoir une solution plus générique dans ces cas-là c'est de ne pas me limiter aux \r\n pour les sauts de ligne mais quelque chose du genre "tout sauf la suivante balise ouvrante '<'"
    par exemple dans ton cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    @"</font><br />[^<]*?<br />"
    //ou 
    @"</font><br />[\s\S]*?<br />"
    j'ai remarqué aussi que si tu veux utiliser le point (.) comme joker (sélectionner n'importe quel caractère) des fois ça ne sélectionne pas tout surtout justement quand tu as des sauts de ligne

    je veux dire que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    @"</font><br />.*?<br />"
    peut ne pas marcher dans tous les cas (en php ça marche)

    j'utilise moi aussi le logiciel que propose PatteDePoule il est très bon pour c#

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 44
    Par défaut
    Oui la solution que tu as donné est beaucoup plus simple.
    C'est vrai qu'il est très bien ce logiciel avec son petit "bréviaire" sur le côté.

    Merci pour vos réponses.

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/04/2011, 16h51
  2. Caractère de retour à la ligne.
    Par Pari dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 18/03/2009, 09h59
  3. [JTextArea] Fichier et retour à la ligne
    Par eraim dans le forum Composants
    Réponses: 4
    Dernier message: 23/06/2004, 08h21
  4. [MFC] Retour à la ligne dans un CEdit
    Par Kant dans le forum MFC
    Réponses: 7
    Dernier message: 18/02/2004, 08h58
  5. Conserver les retours à la ligne
    Par arwen dans le forum ASP
    Réponses: 2
    Dernier message: 04/12/2003, 12h50

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