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 " Différent de " [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 106
    Points : 48
    Points
    48
    Par défaut expression régulière " Différent de "
    Bonjour,

    J'aimerai utiliser une expression régulière "différent de "

    Je fais un traitement jusqu'à temps que je rencontre la balise "</effect>" qd je le rencontre je sors du while

    while(preg_match("/[^</effect>]/",$TabFich[$i]))

    apparement le différent s exprime comme cela : [^

    normalement, ca devrait être bon, jai essayé 10 000 variantes, en cherchant partout sur des sites parlant d expr reg. Jsuis peut etre passé à coté de quelque chose .

    Si qqun sait comment faire qu'il n hésite pas .

    PS: Comme ma balise contient des < > et / jme suis dit que le probleme venait peut etre de là, jai donc réduit la conditiion d arret a seulement "effect" ca marche pas non plus
    while(preg_match("/[^effect]/",$TabFich[$i]))

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 906
    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 906
    Points : 14 828
    Points
    14 828
    Par défaut
    L'exclusion avec le ^ dans les crochets agit sur les caractères et non les chaines complètes.
    Ce que tu souhaites sont en fait les assertions négatives :
    http://g-rossolini.developpez.com/tu...=syntaxe#LII-8

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 106
    Points : 48
    Points
    48
    Par défaut
    ok je vais essayer . Pour l instant ca me fait une erreur je v persévérer jvous dirai si au final ca marchera ou pas
    Merci

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Plutôt qu'une assertion négative, n'est-ce pas plus simple de nier preg_match sur une recherche du motif </effect> ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while (!preg_match('~</effect>~', $TabFich[$i])) {
    D'ailleurs, il y a une erreur dans votre code : vous devez échapper le / de </effect> puisque vous utilisez celui-ci comme délimiteur. Le plus simple, serait tout simplement, comme ci-dessus, d'en choisir un autre, qui ne figure pas dans votre motif.

    Enfin, ici, visiblement, une expression régulière n'est en rien nécessaire puisqu'il ne s'agit pas d'un motif. Si c'est le cas autant utiliser str(i)pos :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while (strpos($TabFich[$i], '</effect>') === FALSE) {

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 106
    Points : 48
    Points
    48
    Par défaut
    Merci, ca marche nickel

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

Discussions similaires

  1. [Python 2.X] Expression régulière trouver quelque chose entre quotes
    Par Northis dans le forum Général Python
    Réponses: 1
    Dernier message: 05/11/2014, 14h59
  2. [RegEx] Simple ou double quote dans une expression régulière
    Par Khleo dans le forum Langage
    Réponses: 2
    Dernier message: 27/12/2010, 16h58
  3. Expression Régulière avec Quote
    Par jon301 dans le forum Langage
    Réponses: 3
    Dernier message: 25/10/2006, 23h08

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