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 :

Pattern pour selectionner en dehors des apostrophes


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Juin 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juin 2007
    Messages : 89
    Par défaut Pattern pour selectionner en dehors des apostrophes
    Bonjour tout le monde, j'ai besoin de votre aide pour générer une expression régulière car je veux récupérer toute valeurs de la forme soit par exemple "pattern.quelquechose" mais à condition qu'ils ne soient pas inclus entre deux apostrophes.
    ainsi la chaine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "blabla pattern.quelquechose blabal ' blabla pattern.apasprendre' "
    devrait me retourner seulement Mais la je sèche un peu... Je crois que l'on peut utiliser des compteurs pour peut être permettre de savoir s'il s'agit d'une apostrophe ouvrante ou pas mais je ne sais pas trop ou chercher.

    Si vous avez des idées je suis preneur.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Par défaut
    Bonjour,

    Tout dépend ce que tu veux faire. Mais on peut procéder simplement en 2 étapes.


    D'abord tu élimines ce qui est entre apostrophes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $chaine = "blabla pattern.quelquechose blabal ' blabla pattern.apasprendre' ";
    $chaine = preg_replace('#['][^']*[']#', "", $chaine);
    La chaine devient alors :

    $chaine = "blabla pattern.quelquechose blabal ";

    Il n'y a plus qu'à extraire ce qui t'intéresse...

  3. #3
    Membre éprouvé
    Inscrit en
    Juin 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juin 2007
    Messages : 89
    Par défaut
    merci Tibalpa, c'est sur quoi je suis partis mais j'avais un doute sur l'expression.

    Par contre à quoi sert le # dans ton expression? Est ce la même chose que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine = preg_replace("/['][^']*[']/", "", $chaine);

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 201
    Par défaut
    Oui, ce sont les délimiteurs.

Discussions similaires

  1. Les design pattern pour créer des jeux
    Par alex6891 dans le forum Design Patterns
    Réponses: 4
    Dernier message: 26/11/2018, 19h59
  2. Pattern pour des contraintes entre Objet
    Par fabgamer dans le forum Design Patterns
    Réponses: 7
    Dernier message: 24/09/2010, 12h06
  3. macro pour selectionner des cellules
    Par Daniela dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 17/02/2009, 08h27
  4. Un design pattern pour des appels à un web service
    Par kekranx dans le forum Design Patterns
    Réponses: 0
    Dernier message: 07/07/2008, 09h32
  5. [Regexp] pattern pour trouver des fichiers par exclusion d'extension
    Par mnementh64 dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 07/09/2006, 10h34

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