Vérification d'une chaîne avec une regex en PHP
Les possibilités des regex ne se limitent pas
à la recherche et au remplacement. Il existe
également la fonction preg_match,
qui vérifie si une chaîne contient une correspondance
avec l'expression régulière. Le premier paramètre de la fonction
accepte l'expression régulière, et le second - la chaîne
à rechercher.
Dans ce cas, s'il y a plusieurs correspondances,
la fonction ne trouvera que la première et mettra fin
à son exécution. Par conséquent, la fonction renvoie soit 1,
soit 0 et est utilisée pour répondre à
la question 'Est-ce que la recherche est dans la chaîne ou non'.
Elle renverra un - cela signifie oui (et combien de fois
- ce n'est pas clair), elle renverra zéro - cela signifie non.
Regardons des exemples. Vérifions
s'il y a dans la chaîne une sous-chaîne, constituée
de la lettre 'a', répétée une ou plusieurs fois :
<?php
echo preg_match('#a+#', 'eee aaa bbb'); // affichera 1
?>
Maintenant, notre chaîne ne contient pas la recherche, et la fonction
affichera 0 :
<?php
echo preg_match('#a+#', 'eee bbb'); // affichera 0
?>
Déterminez s'il y a 3 chiffres d'affilée
dans la chaîne.
Déterminez si la chaîne transmise commence
par http.
Déterminez si la chaîne transmise commence
par http ou par https.
Déterminez si la chaîne transmise se termine
par l'extension txt, html ou php.
Déterminez si la chaîne transmise se termine
par l'extension jpg ou jpeg.