Logo Wand.Tools

Générateur d'expressions régulières

Générez et expliquez intelligemment les expressions régulières, prend en charge divers modèles de correspondance courants

Tutoriel complet sur les expressions régulières PHP (avec exemples courants) [Guide le plus complet 2025]

  # Tutoriel complet sur les expressions régulières PHP (avec exemples courants) [Guide le plus complet 2025]
  
  Les expressions régulières (Regular Expressions) en PHP sont des outils puissants pour le traitement des chaînes de caractères. Ce tutoriel fournira un ensemble d'exemples pratiques d'expressions régulières PHP, couvrant les besoins de correspondance courants comme les emails, les numéros de mobile, les URL, les caractères chinois, les balises HTML, etc., aidant les développeurs à démarrer rapidement l'utilisation des regex en PHP.
  
  ## ✅ Aperçu des fonctions d'expressions régulières (série preg)
  
  ```php
  preg_match()      // Effectue une correspondance regex, retourne le premier résultat de correspondance
  preg_match_all()  // Effectue une correspondance regex globale, retourne tous les résultats de correspondance
  preg_replace()    // Effectue un remplacement regex
  preg_split()      // Fractionne une chaîne de caractères à l'aide d'une expression régulière
  preg_grep()       // Filtre un tableau basé sur une expression régulière

📌 Expressions régulières courantes et exemples PHP

1️⃣ Correspondance d’adresses email

$email = "[email protected]";
if (preg_match("/^[\w\-\.]+@([\w\-]+\.)+[a-zA-Z]{2,7}$/", $email)) {
    echo "Email valide";
}

2️⃣ Correspondance de numéros de mobile (Chine continentale)

$mobile = "13812345678";
if (preg_match("/^1[3-9]\d{9}$/", $mobile)) {
    echo "Numéro de mobile valide";
}

3️⃣ Correspondance d’adresses URL

$url = "https://www.example.com";
if (preg_match("/^(https?:\/\/)?([\w\-]+\.)+[a-zA-Z]{2,6}(\/\S*)?$/", $url)) {
    echo "URL valide";
}

4️⃣ Correspondance d’adresses IP (IPv4)

$ip = "192.168.0.1";
if (preg_match("/^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$/", $ip)) {
    echo "IP valide";
}

5️⃣ Extraction du contenu textuel des balises HTML

$html = "<p>Hello <strong>world</strong></p>";
preg_match_all("/<[^>]+>([^<]+)<\/[^>]+>/", $html, $matches);
print_r($matches[1]);

6️⃣ Correspondance de caractères chinois

$str = "你好world";
if (preg_match("/[\x{4e00}-\x{9fa5}]/u", $str)) {
    echo "Contient du chinois";
}

7️⃣ Remplacement de tous les chiffres par une chaîne vide

$str = "abc123def456";
$result = preg_replace("/\d+/", "", $str);
echo $result; // Sortie abcdef

8️⃣ Fractionnement d’une chaîne (par limite non alphabétique)

$str = "hello123world,php";
$parts = preg_split("/[^a-zA-Z]+/", $str);
print_r($parts);

🧠 Explication des modificateurs Regex

Modificateur Description
i Correspondance insensible à la casse
m Mode multiligne
s Mode dotall (. correspond au saut de ligne)
u Supporte les caractères UTF-8
x Ignore les espaces blancs dans le motif

Utilisation :

preg_match("/pattern/i", $str); // Correspondance insensible à la casse

🔍 Conseils d’utilisation des expressions régulières PHP

  • Utilisez preg_match_all pour obtenir tous les résultats de correspondance.
  • Utilisez preg_replace pour le traitement de remplacement de chaînes par lots.
  • Il est recommandé d’ajouter le modificateur u pour toutes les regex liées aux caractères chinois.
  • Les caractères spéciaux dans les expressions régulières doivent être échappés, tels que ., *, ?, (, ), +, etc.
  • Utilisez var_dump() pour déboguer les résultats regex.