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 :

preg_match [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 681
    Points
    681
    Par défaut preg_match
    Bonjour,

    j'ai le message suivant :

    Warning: preg_match() [function.preg-match]: Compilation failed: nothing to repeat at offset 0 in ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $pat = '*\.*\.*\.*' ;        
     
    $nbMatch = preg_match('/' . $pat . '/', $_SERVER["REMOTE_ADDR"]) ;
    En effet je souhaite dans le cas présent authoriser toutes les adresses IP.

    Si je rentre '127\.*\.*\.*' je n'ai de message pas.
    Je ne comprend pas.

    Quelqu'un peut-il m'expliquer ?

    Merci

  2. #2
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Soit il te manque les délimiteurs, soit tu prends * comme délimiteur et c'est un très mauvais choix.
    Ton expression doit s'écrire ainsi techniquement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reg = '#.*\..*\..*\..*#';
    fonctionnellement, c'est une autre histoire.
    On se rapprocherait plus du but visé avec un tel motif :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reg = '#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#';
    Et ceci ne filtrera pas des adresses farfelues de ce genre 976.156.259.666

    Un vrai motif fonctionnel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reg = '\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b';
    Tout ça pour une simple adresse IP ...
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  3. #3
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 681
    Points
    681
    Par défaut
    Merci de la réponse.

    En fait, j'ai confondu le * d'un script shell et le * d'une expression régulière.

    donc, oui il faut que je prenne ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reg = '#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#';

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

Discussions similaires

  1. [RegEx] Besoin d'aide sur une preg_match!!!!!
    Par j_dron dans le forum Langage
    Réponses: 7
    Dernier message: 21/04/2006, 13h16
  2. [RegEx] preg_match()
    Par winnie82 dans le forum Langage
    Réponses: 1
    Dernier message: 27/03/2006, 11h36
  3. [RegEx] fonctions Preg_match()
    Par winnie82 dans le forum Langage
    Réponses: 4
    Dernier message: 23/03/2006, 11h47
  4. [RegEx] Preg_match -> objectif bbcode !
    Par Thierry8 dans le forum Langage
    Réponses: 2
    Dernier message: 16/12/2005, 17h21
  5. Fonctionnement de la commande 'preg_match'
    Par Trebor dans le forum Langage
    Réponses: 5
    Dernier message: 09/11/2005, 13h03

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