Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/04/2011, 16h24   #1
Membre à l'essai
 
Inscription : mars 2008
Messages : 159
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 159
Points : 24
Points : 24
Par défaut Expression contraire sur un mot

Bonjour,

Je recherche une expression pour tester si le mot entier n'est pas égal à ....

J'ai lu que le '^' peut être utiliser pour interdire un ensemble mais je ne sais pas si cela marche avec un mot entier.


Merci d'avance
coupolites est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 16h29   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Si tu compares l'intégralité de la chaine, tu n'as pas besoin d'une expression régulière.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/04/2011, 16h41   #3
Membre à l'essai
 
Inscription : mars 2008
Messages : 159
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 159
Points : 24
Points : 24
Oui mais si je veux quand même le faire avec une expression est ce possible ?
coupolites est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 16h43   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
quelle est la raison de faire compliqué ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 16h54   #5
Membre à l'essai
 
Inscription : mars 2008
Messages : 159
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 159
Points : 24
Points : 24
En fait je n'ai pas accès au test qui est fait. Je rentre des attributs dans un fichier de conf, et dedans j'ai la possibilité de rajouter une expression sur un champ.
coupolites est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 17h01   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
ok je comprend, donc ^mot$
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 17h04   #7
Membre à l'essai
 
Inscription : mars 2008
Messages : 159
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 159
Points : 24
Points : 24
Citation:
Envoyé par stealth35 Voir le message
ok je comprend, donc ^mot$
Cela test si le mot est égal à "mot" non ? moi il me faut l'inverse

Merci pour ta réponse
coupolites est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 10h26   #8
Membre actif
 
Homme
Inscription : avril 2011
Messages : 426
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : avril 2011
Messages : 426
Points : 171
Points : 171
Bonjour,

Tu peux tester avec le caractère "!"

Code :
1
2
3
4
5
6
7
8
if(!preg_match('#^mot#')
{
echo'le mot est different';
}
else
{
echo'le mot n\'est pas différent';
}
heretik25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 10h29   #9
Membre à l'essai
 
Inscription : mars 2008
Messages : 159
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 159
Points : 24
Points : 24
non je n'ai pas accès au code.

Le code est une fonction style preg_match mais le pattern est une variable. Et je dois la définir dans un fichier de conf
coupolites est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 10h59   #10
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par coupolites Voir le message
non je n'ai pas accès au code.

Le code est une fonction style preg_match mais le pattern est une variable. Et je dois la définir dans un fichier de conf
c'est quoi ton logiciel a la base ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 11h05   #11
Membre à l'essai
 
Inscription : mars 2008
Messages : 159
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 159
Points : 24
Points : 24
Je suis sous symfony et dans le fichier routing.yml j'ai des routes où je peux mettre des requirements afin de les valider

J'ai ouvert un topic ici : http://www.developpez.net/forums/d10...s-routing-yml/

Donc la réponse est oui je peux faire autrement dans l'absolu .... MAIS j'aimerai quand même voir si c'est possible de le faire avec une expression régulière.

Merci
coupolites est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 15h47   #12
Membre à l'essai
 
Inscription : mars 2008
Messages : 159
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 159
Points : 24
Points : 24
Je pense avoir trouvé :

Quelqu'un peut confirmer que cette expression fonctionne ? Même si on est d'accord que ce n'est pas "propre" à l'utilisation

Merci
coupolites est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 16h00   #13
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par coupolites Voir le message
Je pense avoir trouvé :

Quelqu'un peut confirmer que cette expression fonctionne ? Même si on est d'accord que ce n'est pas "propre" à l'utilisation

Merci
comme ça : ^(?!mot$).*$
mais bon... ton problème part d'une mauvaise utilisation et c'est du rattrapage version bidouille
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 16h14   #14
Membre à l'essai
 
Inscription : mars 2008
Messages : 159
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 159
Points : 24
Points : 24
Citation:
Envoyé par stealth35 Voir le message
comme ça : ^(?!mot$).*$
mais bon... ton problème part d'une mauvaise utilisation et c'est du rattrapage version bidouille
Oui on est d'accord que c'est une grosse bidouille mais cela me permet de comprendre les expressions ....

D'ailleurs peux tu stp m'expliquer la différence entre ce que je propose et ce que tu propose car les deux fonctionnent chez moi.

Merci
coupolites est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 16h21   #15
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
c'est juste que c'est compatible avec d'autre version de regex, prendre la tienne, par contre le groupe sert a rien : ^(?!lemot$)
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 16h22   #16
Membre à l'essai
 
Inscription : mars 2008
Messages : 159
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 159
Points : 24
Points : 24
Merci
coupolites est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h05.


 
 
 
 
Partenaires

Hébergement Web