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égulière en C# [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2023
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2023
    Messages : 34
    Points : 12
    Points
    12
    Par défaut Expression régulière en C#
    Bonjour à tous,

    J'essaie de créer une expression régulière qui me ferait matcher ce type de liens : http://monlien.test.fr/GetContenu/Do...1&p6=NOPUB
    http://monlien.test.fr/GetContenu/Do...1&p6=NOPUB

    J'ai réussi à créer ce début d'expression régulière :
    http://monlien\.test\.fr/GetContenu/Download\.aspx\?p1=[^&]+

    Elle me récupère donc cette partie : http://monlien.test.fr/GetContenu/Do...3-b799fefb932d

    Mais le problème est que je n'arrive pas à aller jusqu'au bout du lien, je souhaiterai juste rajouter quelque chose dans la regexp pour qu'elle aille jusqu'à p6=NOPUB

    Si quelqu'un veut bien m'aider svp

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 258
    Points : 12 925
    Points
    12 925
    Par défaut
    Bonjour,
    J'utilise le code suivant pour voir si un nom de fichier correspond à un masque passé en paramètre (il s'agit ici d'une méthode d'extension pour la classe string):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public static bool Match(this string value, string mask) => Regex.IsMatch(input: value, pattern: $"^{Regex.Escape(str: mask).Replace(oldValue: "\\?", newValue: ".").Replace(oldValue: "\\*", newValue: ".*")}$");
    Dans le masque, un point d'interrogation remplace un unique caractère, et une étoile une suite quelconque de caractères.

    REste à voir si ça fonctionne avec une URL, mais je pense que oui (on ne teste que le nom du fichier, sans le chemin d'accès). A vérifier...

    Tatayo.

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 032
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 032
    Points : 5 476
    Points
    5 476
    Par défaut
    Si le besoin c'est d'aller chercher le paramètre p6 (ou n'importe quel paramètre) il te suffit d'utiliser un truc dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var uri = new Uri("http://monlien.test.fr/GetContenu/Download.aspx?p1=7dac4ff3-1b5b-4724-90a3-b799fefb932d&p2=4&p5=1&p6=NOPUB");
    var parse= HttpUtility.ParseQueryString(uri.Query);
     
    var p6= parse.Get("p6");

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2023
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2023
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    J'ai trouvé la solution, voici ma regexp finale : http://monlien/.test/.fr/GetContenu/...5=.*?;p6=NOPUB

    Je vous remercie de vos réponses, elles me serviront pour la suite de mon programme !

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

Discussions similaires

  1. [RegEx] Expression régulières : Balises <SCRIPT>
    Par Gwipi dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2006, 23h25
  2. Expression réguliére
    Par Mad_Max dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 16/09/2003, 18h17
  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, 10h06
  4. Expressions réguliéres
    Par Tooms dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2002, 18h42
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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