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

Langage Perl Discussion :

Regex site et dossier


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2004
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Juin 2004
    Messages : 88
    Par défaut Regex site et dossier
    Bonjour,

    j'ai besoin de vos lumières sur un problème avec une regex.
    Son but est de vérifier qu'une chaîne de caractere soit de type:

    http://www.site.com
    http://site.com
    www.site.com
    http://www.site.com/dossier
    http://site.com/dossier/dossier2
    http://XX.X.XXX.XX (une IP)
    ...

    Bref, le type d'urls classiques d'un site ainsi que la possibilité d'avoir un ou plusieurs dossiers.
    Un "/" pouvant etre mis a la fin. (je ne l'ai pas encore implanté dans ma regex)

    Voici ce que j'ai fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my($testurl)="^((http://)|(www\.))+(([a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4})|([\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}))+(\S)*$";
    Evidemment si elle fonctionnait je ne viendrais pas vous embéter!
    Mais voila, déja au début je peux taper "wwww." ca fonctionne quand meme
    Et quand je rajoute la possibilité de mettre des dossiers (\S)* ??? Plus rien ne fonctionne, je suis débutant dans ce domaine et plusieurs heures passées a comprendre, rechercher et modifier, mais ça ne veux vraiment pas.

    Si quelqu'un pouvait me dire ou j'ai fais mon erreur ca serait cool

    Merci beaucoup bonne journée

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 427
    Par défaut
    regarde du coté de Regexp::Common sur cpan, tu y trouvera ton bonheur:

    http://search.cpan.org/~abigail/Regexp-Common-2.120/
    http://search.cpan.org/~abigail/Rege...on/URI/http.pm

  3. #3
    Membre confirmé
    Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2004
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Juin 2004
    Messages : 88
    Par défaut
    J'ai installé le package je regarde dès que possible, pour le moment, les cours
    Je ne connaissais pas, merci du renseignement

  4. #4
    Membre confirmé
    Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2004
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Juin 2004
    Messages : 88
    Par défaut
    Désolé pour le double post.

    Ce package fonctionne très bien, mais je ne pense pas qu'il corresponde a mes attentes ou alors je n'arrive pas a m'en servir correctement.

    Quand une url est invalide pas de soucis, mais quand elle est valide, je pensais récupérer tout sauf le nom du fichier et ses éventuels paramètres.

    Cependant, je n'arrive pas à le faire. Je peux récupérer le domaine et TLD (ensemble) http://www.site.com mais www.site.com ne fonctionne pas

    aussi un des autres paramètres me renvoie /dossier/fichier.html mais pas juste /dossier comme je voudrais

    dommage que ma regex ne fonctionne pas car mes besoins sont un peu trop spécifiques pour utiliser ce package

    Si quelqu'un peut m'aider, merci beaucoup.

  5. #5
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Parfois, il faut savoir faire un conpromis entre l'usage d'un module et tout faire à la main... Par exemple tu dis que tu récupères /dossier/fichier.html mais pas /dossier comme tu le voulais... Es-tu sûr que ce soit si rédhibitoire que ça ? Personnellement il me semble qu'une regex ultra-simple suffirait pour extraire l'un de l'autre, non ?
    Et il suffit de vérifier si la string commence par "http://" et de le rajouter au besoin pour faire face à ton autre petit problème, non ??

    Think out the box !

    --
    Jedaï

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 41
    Par défaut
    Il y a beacoup plus de possibilites pour une URI que ce que le regex essaye de verifier. Pour valider un URI il serait mieux d'utiliser une des librairies qui ont ete proposes. Pour en extraire certains elements il n'est pas necessaire d'etre trop restrictif:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    my $testurl = qr|^
       (?:http://)?  # un prefixe optionel
       ([^/]+)       # le nom de domaine
       (/(?:[^/]+/)*)# le dossier
       ([^/]*)       # le nom de fichier
    $|x;

Discussions similaires

  1. redéfinir le dossier de base d'un site
    Par maa dans le forum ASP.NET
    Réponses: 8
    Dernier message: 27/01/2007, 18h07
  2. Réponses: 4
    Dernier message: 27/11/2006, 23h24
  3. [HTML] prédéfinir le chemin du dossier des images de mon site
    Par cari dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 31/10/2006, 21h58
  4. Réponses: 2
    Dernier message: 12/10/2005, 17h45
  5. liens hors dossier racine du site
    Par natjoker dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 13/09/2005, 02h00

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