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 :

Regex Sur plusieurs lignes


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Regex Sur plusieurs lignes
    Bonjour,

    Je cherche a extraire un texte compris entre deux <span> par une expression régulière
    ce texte est sur plusieurs ligne
    mon expression régulière actuellement est:
    (?<=<span class="locality">).*?(?=</span>)

    cette expression fonctionne quand c'est sur une ligne mais dés que le texte est sur plusieurs lignes plus rien fonctionne
    merci de votre aide

  2. #2
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par anis13015 Voir le message
    Bonjour,

    Je cherche a extraire un texte compris entre deux <span> par une expression régulière
    ce texte est sur plusieurs ligne
    mon expression régulière actuellement est:
    (?<=<span class="locality">).*?(?=</span>)

    cette expression fonctionne quand c'est sur une ligne mais dés que le texte est sur plusieurs lignes plus rien fonctionne
    merci de votre aide
    Bonsoir,

    L'option Multiline ne te convient pas en 2ème argument lors de l'instanciation de ton regex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    New Regex("?<=<span class=""locality"">).*?(?=</span>", RegexOptions.Multiline)

    Mode multiligne. Modifie la signification de ^ et $ de sorte qu'ils correspondent respectivement au début et à la fin de n'importe quelle ligne, et non simplement au début et à la fin de la chaîne entière.

    A+

  3. #3
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    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 858
    Points : 6 556
    Points
    6 556
    Par défaut
    C'est parce que le point . par défaut peut représenter tous les caractères possibles sauf une nouvelle ligne. Pour changer ce comportement tu dois utiliser le mode Singleline.

    Tu peux l'activer directement dans la pattern comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (?<=<span class=""locality"">)(?s).*?(?=</span>)
    ou le passer en option:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim pattern As String = "(?<=<span class=""locality"">).*?(?=</span>)"
    Dim options As RegexOptions = RegexOptions.Singleline
    Dim m As Match = Regex.Match(yourtext, pattern, options)
    Tu peux le désactiver au besoin avec (?-s).
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

Discussions similaires

  1. [Débutant] Regex sur plusieurs lignes
    Par tseki dans le forum VB.NET
    Réponses: 2
    Dernier message: 12/06/2014, 19h02
  2. Response.Write sur plusieurs lignes
    Par simoryl dans le forum ASP
    Réponses: 2
    Dernier message: 31/08/2004, 22h49
  3. Réponses: 2
    Dernier message: 10/05/2004, 07h55
  4. TDBGrid - Un enregistrement sur plusieurs lignes
    Par BRODU dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/05/2004, 07h53
  5. Define sur plusieurs lignes
    Par Gogoye dans le forum C
    Réponses: 6
    Dernier message: 06/10/2003, 11h45

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