Maison > Article > développement back-end > Correspondance de modèles à l'aide de PHP et d'expressions régulières
Dans les langages de programmation modernes, la correspondance de modèles est une opération très courante. Il est utilisé pour trouver des parties d'une chaîne qui correspondent à certaines règles. En PHP, les expressions régulières sont très pratiques pour la correspondance de modèles. Dans cet article, nous aborderons la correspondance de modèles à l'aide de PHP et des expressions régulières.
Tout d’abord, nous devons comprendre ce que sont les expressions régulières. Les expressions régulières sont un langage utilisé pour la correspondance de modèles. Il peut être utilisé pour rechercher, remplacer, valider et extraire des parties spécifiques d'une chaîne. Les expressions régulières sont constituées de certains caractères et caractères spéciaux. Ces caractères sont utilisés pour faire correspondre des chaînes.
En PHP, nous pouvons utiliser la fonction preg_match() pour effectuer une correspondance d'expressions régulières. Voici un exemple :
$string = "This is a test string."; $pattern = "/test/i"; preg_match($pattern, $string, $matches); print_r($matches);
Dans l'exemple ci-dessus, $string est la chaîne à rechercher. $pattern est une expression régulière. Dans cet exemple, nous utilisons "/test/i" comme expression régulière. Cela signifie que nous recherchons "test" dans la chaîne, où "i" signifie insensible à la casse. Enfin, $matches est un tableau contenant tous les résultats correspondants. Dans ce cas, il devrait afficher :
Array ( [0] => test )
Si aucune chaîne correspondante n'est trouvée, le tableau $matches sera vide.
Maintenant, jetons un coup d'œil aux caractères les plus élémentaires des expressions régulières.
Voici un exemple pour faire correspondre un code postal :
$string = "12345-6789"; $pattern = "/^[0-9]{5}(-[0-9]{4})?$/"; preg_match($pattern, $string, $matches); print_r($matches);
Dans l'exemple ci-dessus, nous avons utilisé quelques caractères différents :
$dir = "./"; $files = scandir($dir); foreach ($files as $file) { if (preg_match("/.php$/", $file)) { $content = file_get_contents($file); preg_match_all("/(function|public function|private function|protected function|method|public method|private method|protected method) ([a-zA-Z0-9_]+)/", $content, $matches); echo "In $file: "; foreach ($matches[2] as $match) { echo "- $match() "; } } }
Dans l'exemple ci-dessus, nous avons utilisé la fonction preg_match_all(). Cette fonction est similaire à la fonction preg_match(), sauf qu'elle recherche toutes les correspondances au lieu de seulement la première correspondance. Nous avons également utilisé une expression régulière pour faire correspondre toutes les fonctions et méthodes. Dans cet exemple, nous listerons uniquement les fonctions et méthodes publiques, privées et protégées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!