0Pricing
PHP Academy · Leçon

Effectuer des correspondances avec preg_match

Comparer des chaînes à des motifs et capturer des groupes.

Effectuer des correspondances avec preg_match est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage PHP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PHP Academy comprend 4 leçons au total.

Signature de preg_match()

preg_match($pattern, $subject, &$matches) renvoie 1 si le motif correspond, 0 dans le cas contraire, ou false en cas d'erreur.

Vérification simple de correspondance

Utilisez preg_match comme vérification booléenne — la valeur de retour 1 signifie qu'une correspondance a été trouvée.

<?php
$email = "user@example.com";
if (preg_match('/\w+@\w+\.\w+/', $email)) {
    echo "Looks like an email";
}

Groupes de capture avec $matches

$matches[0] contient la correspondance complète ; $matches[1], $matches[2]... contiennent les groupes de capture.

<?php
preg_match('/^(\w+)\s(\w+)$/', "John Smith", $m);
echo $m[1]; // "John"
echo $m[2]; // "Smith"

Captures nommées

Utilisez (?P<name>...) pour créer des groupes de capture nommés — accessibles via $matches["name"].

<?php
preg_match('/(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})/',
           '2025-06-15', $m);
echo $m['year'];  // 2025

Paramètre de décalage

Le quatrième paramètre indique à quel endroit de la chaîne commencer la correspondance (décalage en octets).

<?php
preg_match('/\d+/', 'abc123def456', $m, 0, 3);
echo $m[0]; // "123"

PREG_OFFSET_CAPTURE

Obtenez à la fois la valeur de la correspondance et son décalage en octets.

<?php
preg_match('/\d+/', "price: 42 USD", $m, PREG_OFFSET_CAPTURE);
echo $m[0][0]; // "42"
echo $m[0][1]; // 7 (byte offset)

preg_match_all()

preg_match_all() trouve toutes les correspondances et renvoie leur nombre.

<?php
$html = '<a href="a.com">A</a> <a href="b.com">B</a>';
preg_match_all('/<a href="([^"]+)">/', $html, $m);
print_r($m[1]); // ["a.com", "b.com"]

Exemple de validation d'adresse e-mail

Une expression régulière pratique pour les adresses e-mail :

<?php
function isEmail(string $s): bool {
    return (bool) preg_match(
        '/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$/',
        $s
    );
}

Validation d'un numéro de téléphone

Validez les numéros de téléphone internationaux :

<?php
preg_match('/^\+?[1-9]\d{7,14}$/', '+1234567890', $m);

Gestion des erreurs

Si le motif n'est pas valide, preg_match() renvoie false. Vérifiez avec === false et utilisez preg_last_error() pour obtenir des détails.

Conseil de performance

PHP met en cache en interne les motifs PCRE compilés — si vous utilisez la même expression régulière dans une boucle, aucune étape supplémentaire n'est nécessaire.

Quand ne pas utiliser les expressions régulières

Pour les données structurées, PHP propose des fonctions dédiées : filter_var(FILTER_VALIDATE_EMAIL), parse_url() — préférez-les aux expressions régulières écrites manuellement.

Vérification rapide

Que contient $matches[0] après l'appel à preg_match ?

Questions Fréquemment Posées

La leçon « Effectuer des correspondances avec preg_match » est-elle gratuite ?

Oui — le texte complet de « Effectuer des correspondances avec preg_match » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours PHP Academy, passe à CoddyKit PRO. Le cours PHP Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Effectuer des correspondances avec preg_match » ?

Comparer des chaînes à des motifs et capturer des groupes. Tu pratiques PHP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer PHP Academy ?

Aucune expérience préalable n'est requise. PHP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Effectuer des correspondances avec preg_match » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon PHP Academy ?

Oui. Chaque leçon PHP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Principes fondamentaux de la syntaxe des expressions régulières
  2. Effectuer des correspondances avec preg_match
  3. Remplacer du texte avec preg_replace
  4. Découpage et motifs pratiques
← Retour à PHP Academy