Regex tout sauf un groupe de caractères
Résolu
snipchain
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
snipchain Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
snipchain Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous! :)
J'essai de trouver une regex qui me renverrait un message d erreur si un groupe de caractères est utilisé de facon abusive (permission d'un seul de ces caractères à la fois)...
exemple de ce qui ne devrait pas passer: 'mon ch$$$at joue' ou 'mon $$$chat joue' ou 'mon chat$$$ joue' ou 'mon ch§at joue' ou 'mon chat§ joue' ou 'mon §chat joue'
exemple de ce qui pourrait passer: 'mon ch$at joue' ou 'mon $chat joue' ou 'mon chat$ joue' ou 'mon ch&at joue' ou 'mon chat& joue' ou 'mon &chat joue'
j'ai tenté un
if (!preg_match('#.*[^(\'-\?\!\(\)&\|@\#§<>\^\{\}\[\]\$\*%\+\/\\€)+].*#i', $value)){echo 'incorrect';}
mais sans résultat... :s
quelqu'un a t il une idée? merci d'avance! :)
J'essai de trouver une regex qui me renverrait un message d erreur si un groupe de caractères est utilisé de facon abusive (permission d'un seul de ces caractères à la fois)...
exemple de ce qui ne devrait pas passer: 'mon ch$$$at joue' ou 'mon $$$chat joue' ou 'mon chat$$$ joue' ou 'mon ch§at joue' ou 'mon chat§ joue' ou 'mon §chat joue'
exemple de ce qui pourrait passer: 'mon ch$at joue' ou 'mon $chat joue' ou 'mon chat$ joue' ou 'mon ch&at joue' ou 'mon chat& joue' ou 'mon &chat joue'
j'ai tenté un
if (!preg_match('#.*[^(\'-\?\!\(\)&\|@\#§<>\^\{\}\[\]\$\*%\+\/\\€)+].*#i', $value)){echo 'incorrect';}
mais sans résultat... :s
quelqu'un a t il une idée? merci d'avance! :)
A voir également:
- Regex ne commence pas par
- Regex negation chaine caractère - Forum Programmation
- Musique qui commence doucement puis accélère techno - Forum Musique / Radio / Clip
- Regex "ne commence pas par XX" ✓ - Forum PHP
- Je commence la nuit et je termine le matin ✓ - Forum Loisirs / Divertissements
- Devinette ✓ - Forum Loisirs / Divertissements
2 réponses
si je comprends bien ta demande, ton soucis est de spécifier le nombre de fois ou le caractère est présent dans la string, avec un groupement ou tu peux l'avoir 1 seul fois (genre ton $) et un autre groupement ou tu ne peux pas l'avoir du tout (genre ton §)
Si oui, il faut utiliser la syntaxe suivante :
Ici, c'est pour avoir le droit d'avoir 1 seul $ (à la suite) et aucun § dans la string contenue dans $value.
Si oui, il faut utiliser la syntaxe suivante :
if (preg_match('#([\$]{2,})|([§]{1,})#i', $value)){echo 'incorrect';}
Ici, c'est pour avoir le droit d'avoir 1 seul $ (à la suite) et aucun § dans la string contenue dans $value.