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 :

Expression régulière la plus simple au monde [RegEx]


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2012
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Expression régulière la plus simple au monde
    Bonjour,

    Désolé de demander de l'aide sur une chose aussi facile que cette expression régulière mais
    bon je suis vraiment débutant dans le domaine et je n'y arrive pas malgré mais x tentatives.

    Je souhaiterais tous simplement vérifier qu'une chaine de caractère soit bien sous la forme "xx-xx",
    soit xx un nombre pouvant aller de 0 à "l'infinit".

    Donc voici la version de mon expression régulière la plus logique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all( '/([0–9]+)\-([0–9]+)/U', $_GET['var'] ) ;
    Mais cette dernière ne marche pas quand $_GET['var'] = "32-543" ;

    Adam.

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    et avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $a = '32-543';
    $is_ok = preg_match_all('/^[0-9]+-[0-9]+$/', $a, $matches); // $is_ok = true
    Et en se passant des regex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $is_ok = array_product(filter_var_array(explode('-', $a), FILTER_VALIDATE_INT));

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2012
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci pour ton aide rawsrc ça marche.

    Par contre une chose que je n'es pas compris,
    pourquoi on ne met pas de \ avant le - qui se situe entre les deux nombres
    dans l'expression régulière? Car il faut qu'il soit interprété comme un caractère...

    Merci de ton aide

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    A l'extérieur d'une classe le tiret est considéré comme un caractère normal => pas besoin de l'échapper.
    Une classe correspond aux éléments entre crochets.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2012
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Ahhh d'accord...

    Et encore Merci !

    Bonne soirée.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/05/2013, 16h44
  2. Expressions régulières pas si simple en Delphi
    Par kidathom dans le forum Débuter
    Réponses: 4
    Dernier message: 29/04/2008, 18h32
  3. programme le plus simple du monde !
    Par dpie dans le forum C++
    Réponses: 5
    Dernier message: 02/12/2007, 18h15
  4. [RegEx] Simple expression régulière pour ereg_replace
    Par aurapp dans le forum Langage
    Réponses: 6
    Dernier message: 12/03/2006, 12h34
  5. [RegEx] Aide sur une expression régulière toute simple
    Par tchoumak dans le forum Langage
    Réponses: 3
    Dernier message: 29/11/2005, 15h46

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