Bases des regex
Un motif d'expression régulière est simplement une façon compacte de décrire le texte que vous souhaitez faire correspondre. Commencez simplement : faites correspondre un élément, testez-le, puis ajoutez des groupes, des ancres ou des quantificateurs uniquement si nécessaire.
Ancres
^ signifie le début de l’entrée et $ signifie la fin de l’entrée.
Classes de caractères
[0-9], [A-Z], et [a-z] correspondent à des plages.
Quantificateurs
* = zéro ou plus, + = un ou plus, ? = facultatif.
Motifs courants
| Cas d’usage | Motif | Remarques |
|---|---|---|
| ^[^\s@]+@[^\s@]+\.[^\s@]+$ | Bonne validation générale, pas un analyseur RFC complet. | |
| URL | https?:\/\/[^\s]+ | Correspond aux liens HTTP et HTTPS de base. |
| Nombre entier | ^-?\d+$ | Prend en charge le signe négatif facultatif. |
| Nombre décimal | ^-?\d+(\.\d+)?$ | Correspond aux nombres entiers et décimaux. |
| Espace blanc | \s+ | Utile pour réduire les espaces et sauts de ligne répétés. |
| Couleur hexadécimale | ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ | Prend en charge les couleurs à 3 et 6 chiffres. |
| IPv4 | \b(?:\d{1,3}\.){3}\d{1,3}\b | Correspond à un texte de type IPv4, sans validation stricte 0-255. |
| Lignes vides | ^\s*$ | À utiliser avec le mode multiligne pour cibler les lignes vides. |
Indicateurs que vous utilisez le plus souvent
g global
Rechercher toutes les correspondances au lieu de s'arrêter à la première.
i ignorer la casse
Rend la correspondance insensible à la casse, utile pour les mots-clés et les saisies utilisateur.
m multiligne
Fait ^ et $ fonctionner ligne par ligne.
s dotall
Faisons . correspondre les sauts de ligne ainsi que les caractères normaux.
Pièges courants des regex
- Ne commencez pas par un motif géant tout-en-un. Construisez progressivement et testez chaque partie.
- N’oubliez pas d’échapper les caractères spéciaux comme ., ?, +, et [ lorsque vous voulez dire le caractère littéral.
- Si vous ne voulez que des mots entiers, ajoutez des limites comme \bword\b.
- Faites attention à la correspondance gloutonne. .* capture souvent plus que prévu.
Utilisez cette référence avec le bon outil
Recherchez un motif ici, testez-le en direct, appliquez-le à un texte réel ou utilisez-le dans un flux de remplacement.