Mammouth du PHP |
1609 Messages
24 juil. 2019, 13:15
En fait tu peux vérifier par preg_match aussi qu'il n'y a pas de o mais avec un
preg_match('`o`', $string) tout simplement, sans quantifier.
La ça ne capturera vraiment que les o mais ça ne te dira pas si des o se suivent. false si pas de o et true si o présents.
Si le problème c'est de vérifier qu'il n'y a pas au moins 2 o qui se suivent l'expression serait plutôt
o{2,}.
Si tu n'as que des o solos ça retournera false mais si tu as 2 o où plus qui se suivent ça retournera true.
PS : le ? on s'en sert aussi souvent comme une sorte de limiteur genre tu veux capturer tout ce qui est entre " mais tu veux capturer chaque groupe de " et non pas du premier au dernier tu fais :
".*?"
La par exemple le
.* va capturer 2 " qui se suivent mais si tu fais
".+?" alors il faut que les " aient un contenu entre eux (au moins 1 caractère).
Avec
"bon"jo"oou"r "",
".*?" capture
"bon",
"oou",
""
".+?" capture
"bon",
"oou"
".+" capture
"bon"jo"oou"r ""
Tu as plusieurs site genre
https://regexr.com/ qui te permettent de tester des regex pour mieux comprendre comment ça fonctionne.
Développeur web depuis + de 20 ans