psykocrash
Messages postés240Date d'inscriptionvendredi 14 juin 2002StatutMembreDernière intervention17 mars 2009
-
13 mai 2006 à 02:00
smain46
Messages postés5Date d'inscriptiondimanche 12 mars 2006StatutMembreDernière intervention 2 mars 2010
-
2 mars 2010 à 10:24
Salut,
Plus de 3h heures non stop que je planche sur ce problème... pffff !
Je voudrais savoir comment interdire une chaine de caractères dans une expression régulière (preg_match_all).
Attention, il ne s'agit pas de faire [^salut] car je ne veux pas interdire les lettres 's', 'a', 'l', 'u', et 't' mais la suite de lettres 'salut'.
L'objectif est d'arriver à trouver, par exemple, dans :
"a salut b est différent de a lolo b"
" lolo " et non pas " salut ".
psykocrash
Messages postés240Date d'inscriptionvendredi 14 juin 2002StatutMembreDernière intervention17 mars 2009 13 mai 2006 à 14:43
"a(.*)b" qui prenait n'importe quoi au milieu est devenu "a[^(salut)]+b" mais là, ça ne marche pas. La solution réside dans la manière d'interdire une suite de caractères et non pas les caractères eux mêmes. Il faut arriver à interdire "salut" mais que "slaut" ne soit pas interdit. Si vous savez comment le faire, aidez moi svp !!!!
smain46
Messages postés5Date d'inscriptiondimanche 12 mars 2006StatutMembreDernière intervention 2 mars 20108 2 mars 2010 à 10:24
Les autres forums râles quand on crée des posts qui existent déjà, faudrait savoir...
J'ai résolu le problème avec la regex : ^((?!^salut$).)*$ mais mon objectif final est d'utiliser cette regex comme pattern de restriction dans un xml schéma et là cela plante. C'est pas un forum xml-schéma ici donc je ne m'attend pas à ce que vous répondiez, je poste juste la regex ^((?!^salut$).)*$ si quelqu'un passe par là et en a besoin.