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 :

Elaboration d'une regex en PHP


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de Dirty Harry
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2006
    Messages : 111
    Points : 53
    Points
    53
    Par défaut Elaboration d'une regex en PHP
    Bonjour,

    Je veux créer un regex qui va chercher ce genre de caractère:

    "Un mot 789"

    on ne sais jamais quelle est le chiffre à la fin, mais on sais que ca commence toujours par "Un mot". L'espace entre les 2 peut être différent et ca peut être une tabulation

    merci
    There are no secrets to success. It is the result of preparation, hard work, and learning from failure.

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Salut,

    Ceci t'aide ? :

    \s représente un espace, une tabulation, etc
    \d représente un chiffre. Si tu as un nombre indéfini de chiffre, il faut faire autrement..

    A+
    K

  3. #3
    Membre du Club Avatar de Dirty Harry
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2006
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    et si j'ai plus d'un espace entre le mot et les chiffre, comment je peut interpreter plusieurs espaces ?
    There are no secrets to success. It is the result of preparation, hard work, and learning from failure.

  4. #4
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <un>{\s}+<mot>{\s}+{\d}+
    K

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 20
    Points : 26
    Points
    26
    Par défaut
    \s* : l'opérateur * signifie "zéro ou plusieurs"

    Donc si je ne m'abuse
    <un>\s<mot>\s*\d\d\d

    Perso, je me suis affiché la PHP Cheat sheet de ilovejackdaniels.com à côté du bureau. Il reprend toute la syntaxe des Regex et autres joyeusetés.

    Bon courage

  6. #6
    Membre du Club Avatar de Dirty Harry
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2006
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    et c'est vraiment des <> qui entour les mot recherchés ?

    voici l'erreur que j'ai

    Warning: preg_match_all() [function.preg-match-all]: No ending delimiter '^' found in......
    There are no secrets to success. It is the result of preparation, hard work, and learning from failure.

  7. #7
    Membre du Club Avatar de Dirty Harry
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2006
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    donc j'aurais ceci ?

    $sep='^<mon>\s<mot>\s+[0-9]$';
    There are no secrets to success. It is the result of preparation, hard work, and learning from failure.

  8. #8
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Non, les < et > font foirer ta regex puisqu'il ne sont pas contenu dans ta chaine, et les options de début et fin de chaine également, puisque tu utilises un preg_match_all.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all('#mon mot\s+\d+#', $chaine, $match);

Discussions similaires

  1. [RegEx] php et javascript dans une regex
    Par grochenel dans le forum Langage
    Réponses: 7
    Dernier message: 06/12/2005, 22h21
  2. [RegEx] spliter par rapport a une regex en récuperant la regex
    Par Khrysby dans le forum Langage
    Réponses: 1
    Dernier message: 10/11/2005, 15h08
  3. Réponses: 4
    Dernier message: 01/11/2005, 14h35
  4. ouvrir une popup avec php
    Par Defrancesco dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/10/2005, 10h34
  5. [MySQL] Déconnexion d'une B.D. Php&MySQL?
    Par Invité dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/09/2005, 11h23

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