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 PHP Discussion :

Simplifier une regexp [RegEx]


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 39
    Points : 36
    Points
    36
    Par défaut Simplifier une regexp
    Bonjour,

    Je pense pas être trop loin de ce que je veux mais je n'y arrive pas alors je viens chercher un peu d'aide ici

    j'aimerais arriver à ca (mais c'est un peu moche)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+.*\[(\d{2})\/(\w{3})\/(\d{4}):(\d{2}):(\d{2}):(\d{2})\s+[+-]\d+\s*\]\s+"GET\s+(.*)\s+HTTP\/\d+\.\d+"\s+(\d{3})\s*(\S*)\s*(\S*)\s*"?([^"]*)"?|(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+.*\[(\d{2})\/(\w{3})\/(\d{4}):(\d{2}):(\d{2}):(\d{2})\s+[+-]\d+\s*\]\s+"HEAD\s+(.*)\s+HTTP\/\d+\.\d+"\s+(\d{3})\s*(\S*)\s*(\S*)\s*"?([^"]*)"?
    En gros j'ai deux regex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+.*\[(\d{2})\/(\w{3})\/(\d{4}):(\d{2}):(\d{2}):(\d{2})\s+[+-]\d+\s*\]\s+"GET\s+(.*)\s+HTTP\/\d+\.\d+"\s+(\d{3})\s*(\S*)\s*(\S*)\s*"?([^"]*)"?
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+.*\[(\d{2})\/(\w{3})\/(\d{4}):(\d{2}):(\d{2}):(\d{2})\s+[+-]\d+\s*\]\s+"HEAD\s+(.*)\s+HTTP\/\d+\.\d+"\s+(\d{3})\s*(\S*)\s*(\S*)\s*"?([^"]*)"?
    Qui match bien avec ce que je veux. Comme vous l'avez compris mon problème se situe au niveau du (GET|HEAD) je n'arrive pas à faire cohabiter les deux dans la même regex d'une manière plus courte que une|autre.

    Si quelqu'un pouvait me donner un coup d'pouce

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 893
    Points : 16 347
    Points
    16 347
    Par défaut
    Pourquoi ne pas simplement mettre (GET|HEAD) ? Tu l'as d'ailleurs écrit toi-même.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 39
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Pourquoi ne pas simplement mettre (GET|HEAD) ? Tu l'as d'ailleurs écrit toi-même.
    En effet j'sais pas ce que j'ai fait hier , comme quoi des fois il suffit de montrer un peu aux autres pour trouver son erreur, merci encore Bisûnûrs.

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

Discussions similaires

  1. Construction d'une regexp : unmatched () in regexp
    Par linou dans le forum Langage
    Réponses: 7
    Dernier message: 27/01/2006, 11h34
  2. [RegExp] Adapter une regexp Perl vers du Java
    Par GLDavid dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 22/12/2005, 12h40
  3. [Regex]Match d'une regexp avec une chaîne avec caractères spéciaux
    Par gdawirs dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 25/11/2005, 12h24
  4. [C#][xml][regexp] Recherche d'une regexp dans un fichier xml
    Par LeJocker dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/10/2005, 12h29
  5. [Regexp] Obtenir une regexp à partir du texte ?
    Par Alec6 dans le forum Langage
    Réponses: 1
    Dernier message: 12/09/2005, 16h40

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