Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
slam:aide_preg_match [2025/02/06 09:09] – créée dthevenot | slam:aide_preg_match [2025/02/06 09:15] (Version actuelle) – [Utilisation de la fonction preg_match()] dthevenot | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
====== | ====== | ||
- | Les expressions régulières (ou rationnelles) vont permettre de définir de manière concise la forme d'une chaine de | + | Les expressions régulières (ou rationnelles) vont permettre de définir de manière concise la forme d'une chaine de caractères attendue (un patron ou modèle) et de la confronter à une chaine de caractères donnée. |
- | caractères attendue (un patron ou modèle) et de la confronter à une chaine de caractères donnée. | + | |
On peut par exemple utiliser une expression régulière pour : | On peut par exemple utiliser une expression régulière pour : | ||
- | • Contrôler qu'un mot de passe saisi comprend au moins 8 caractères et dispose à la fois de chiffres, de | + | * Contrôler qu'un mot de passe saisi comprend au moins 8 caractères et dispose à la fois de chiffres, de majuscules, de minuscules et de caractères spéciaux. |
- | majuscules, de minuscules et de caractères spéciaux. | + | |
- | BTS SIO 1ère année BTS blanc - Session 2025 | + | |
- | E6 – Cybersécurité des services informatiques Page 16 / 24 | + | |
- | • Extraire d'une chaine de caractères toutes les sous-chaines dont le format est conforme au modèle défini | + | |
- | • … | + | |
Les expressions régulières existent dans de nombreux langages informatiques ainsi que dans les langages de scripting. | Les expressions régulières existent dans de nombreux langages informatiques ainsi que dans les langages de scripting. | ||
+ | |||
Nous allons voir comment les définir en PHP. | Nous allons voir comment les définir en PHP. | ||
- | Quelques exemples | + | |
- | Utilisation de la fonction preg_match() | + | ===== Quelques exemples |
+ | ==== Utilisation de la fonction preg_match() | ||
Cette fonction vérifie si un texte correspond au modèle décrit dans une expression régulière, | Cette fonction vérifie si un texte correspond au modèle décrit dans une expression régulière, | ||
- | Syntaxe utilisée ici : | + | |
+ | **Syntaxe utilisée ici :** | ||
+ | < | ||
preg_match ( string $pattern , string $subject); | preg_match ( string $pattern , string $subject); | ||
+ | </ | ||
$subject : chaine de caractères à tester | $subject : chaine de caractères à tester | ||
$pattern : format souhaité pour la chaine de caractères | $pattern : format souhaité pour la chaine de caractères | ||
- | Exemple d' | + | |
+ | **Exemple d' | ||
+ | < | ||
if (preg_match('# | if (preg_match('# | ||
- | echo ('Le mot Castel est cité); | + | |
} else { | } else { | ||
- | echo ("Le mot Castel n'est pas cité" | + | |
- | } | + | |
+ | </ | ||
Ce code cherche la présence de la chaîne de caractères « Castel» dans la phrase 'J aime le lycée Le Castel!' | Ce code cherche la présence de la chaîne de caractères « Castel» dans la phrase 'J aime le lycée Le Castel!' | ||
+ | |||
Autres possibilités : au lieu de #Castel#, on aurait pu écrire : | Autres possibilités : au lieu de #Castel#, on aurait pu écrire : | ||
- | ▪ '# | + | * '# |
- | ▪ '# | + | |
- | ▪ '# | + | |
- | ▪ '# | + | |
- | ▪ '# | + | |
- | ▪ '# | + | |
- | ▪ '# | + | |
- | ▪ '# | + | |
- | ▪ '# | + | |
- | ▪ '# | + | |
- | ▪ '# | + | |
- | ▪ '# | + | |
- | {3,} : la lettre qui précède doit être présente au moins 3 fois | + | * {3} : la lettre qui précède doit être présente 3 fois |
- | {0,3} : la lettre qui précède doit être présente au plus 3 fois | + | |
- | {3,5} : la lettre qui précède doit être présente au moins 3 fois, au plus 5 fois | + | |
- | BTS SIO 1ère année BTS blanc - Session 2025 | + | |
- | E6 – Cybersécurité des services informatiques Page 17 / 24 | + | |
- | ▪ '# | + | |
- | faire le test des quantités sur plusieurs caractères | + | |
- | ▪ '# | + | |
- | ▪ '# | + | |
- | ▪ '# | + | |
- | Les symboles ^ et $ indiquent le début et la fin d'une chaîne, et permettent donc de la délimiter. | + | Les symboles |
Quelques raccourcis permettent d' | Quelques raccourcis permettent d' | ||
- | \d Indique un chiffre. Identique à [0-9] | + | * \d Indique un chiffre. Identique à [0-9] |
- | \D Indique ce qui n'est PAS un chiffre = [^0-9] | + | |
- | \w Indique un caractère alphanumérique ou un tiret de soulignement = [a-zA-Z0-9_] | + | |
- | \W Indique ce qui n'est PAS un mot = [^a-zA-Z0-9_] | + | |
- | \t Indique une tabulation | + | |
- | \n Indique une nouvelle ligne | + | |
- | \r Indique un retour chariot | + | |
- | \s Indique un espace blanc | + | |
- | \S Indique ce qui n'est PAS un espace blanc (\t \n \r | + | |