RegExp : comment interdire une chaine

Résolu/Fermé
TheLamia Messages postés 76 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 18 août 2010 - 28 juil. 2009 à 10:33
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 28 juil. 2009 à 11:41
Bonjour à vous !

Après de longues recherches, j'en viens à interroger la grande communauté de CommentCaMarche...
Je pensais m'y connaitre pas mal en expressions régulières, mais il y a une notion qui m'échappe, et pas moyen de trouver une réponse simple...

Je voudrais tout simplement interdire une chaine de caractère grace à l'utilisation d'une expression régulière. Je sais qu'on peut interdire des caractères ainsi : [^abc] (a, b, c interdits), mais pour une chaine complète?!
Par exemple, si je veux interdire la chaine "salut", vous feriez quoi ?

Merci à tous d'avance.
A voir également:

5 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
28 juil. 2009 à 11:10
Re,

Oui dans les regex directement (source http://www.ilu.be/wiki/Les_motifs_des_REGEX )

(?=modèle)
Le test avant positif, se comporte comme des parenthèses non-capturantes sauf qu'elles ne consomment rien dans la chaine cible. Par exemple:
chat(?= perché| botté) reconnait chat seulement s'il est immédiatement suivi de perché ou botté.
\w(?!\.) reconnait un mot sauf s'il est suivit d'un point.


(?!modèle)
Le test avant négatif, se comporte comme des parenthèses non-capturantes sauf qu'elles ne consomment rien dans la chaine cible. Par exemple:
chat(?! perché| botté) reconnait chat seulement s'il n'est pas immédiatement suivi de perché ou botté.

(?<=modèle)
Le test arrière positif, se comporte comme des parenthèses non-capturantes sauf qu'elles ne consomment rien dans la chaine cible.
Exemple: (?<=\d)\d reconnait un chiffre que si il est immédiatement précedé d'un autre chiffre.


(?<!modèle)
Le test arrière négatif, se comporte comme des parenthèses non-capturantes sauf qu'elles ne consomment rien dans la chaine cible.
Exemple: (?<!\.)\w reconnait un mot seulement s'il n'est pas immédiatement précédé d'un point.


Regarde aussi (avec des exemples php)

Les tests avants positifs: (?=expression)
Les test avants négatifs: (?!expression)
Les tests arrières positifs: (?<=expression)
Les tests arrières négatifs: (?<!expression

10

Discussions similaires