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 :

Expression réguliere sur adresses http


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 94
    Par défaut Expression réguliere sur adresses http
    Bonjour à tous,

    Je reviens avec un probleme d'expression réguliere encore !

    J'ai des adresse dans ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    http://bl107w.blu107.mail.live.com/mail/InboxLight.aspx?ReadMessageId=6ef23a30-ba87-11de-8c98-00215ad8015c&FolderID=00000000-0000-0000-0000-000000000001&n=1767794847
    http://webmail1e.orange.fr/webmail/fr_FR/read.html?FOLDER=SF_INBOX&IDMSG=1369&ORIGIN=SYSTEM_FOLDER&SORTBY=1
    http://imp.free.fr/horde/imp/message.php?index=28561&start=2&thismailbox=INBOX&actionID=101
    En fait, je veux utiliser les epressions reguliere pour chopper le nom de domaine : "live","orange","free".

    J'ai réussi à faire un truc avec les subsstring mais c'est assez laborieux et marche pas sur toutes les adresses.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 94
    Par défaut
    Voila comment je fais pour l'instant avec un split et substring :s, mais ça marche pas à tous les coups



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     public void cs_referer(string cs_referer)
            {
                string str = cs_referer;
                string[] mySplit = new string[16];
                mySplit = str.Split('/');
                string adr = mySplit[2];
                string[] url = new string[10];
                url = adr.Split('.');
                nomReferer = url[url.Length - 2];
            }

  3. #3
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Essaye avec une expression de ce type
    ^https?://[^/]+\.(?<domain>\w+)\.[a-z]+

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 94
    Par défaut
    je l'ai écrite comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MatchCollection referer = Regex.Matches(str,"(^https?://[^/]+).(?<domain>\w+).([a-z]+ )", RegexOptions.ExplicitCapture);
    J'ai une erreur :
    unrecognized espace sequence
    pour le w

  5. #5
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Il faut doubler les \ ou utiliser une string verbatim car dans une chaîne le \ est un caractère d'échappement. Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MatchCollection referer = Regex.Matches(str,@"(^https?://[^/]+)\.(?<domain>\w+)\.[a-z]+", RegexOptions.ExplicitCapture);

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/10/2014, 11h45
  2. expression réguliere sur une chaine de caractere
    Par delilou dans le forum Général Java
    Réponses: 6
    Dernier message: 22/04/2011, 17h09
  3. [RegEx] Question sur les expressions régulieres
    Par pierrot10 dans le forum Langage
    Réponses: 2
    Dernier message: 25/01/2010, 00h41
  4. tester sur une expression réguliere
    Par adilsoft dans le forum Shell et commandes GNU
    Réponses: 16
    Dernier message: 07/12/2009, 11h48
  5. aide sur les expressions régulieres
    Par STEPH69000 dans le forum Langage
    Réponses: 7
    Dernier message: 31/05/2006, 17h54

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