Fonctionnement du motif
| Partie | Signification |
|---|---|
25[0-5] | 250–255 |
2[0-4]\d | 200–249 |
1\d\d | 100–199 |
[1-9]?\d | 0–99, sans zéro en début de nombre |
(?:…\.){3} | Trois nombres, chacun suivi d'un point |
(?:…)$ | Le quatrième nombre, puis la fin de la chaîne |
Exemples de code
JavaScript
const re = /^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)', value))PHP
preg_match('/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/', $value) === 1;
Remarques et limites
Chaque octet est vérifié entre 0 et 255, ce qu'un motif simple \d{1,3} ne peut pas faire. Les zéros en début de nombre sont refusés, car certains systèmes les interprètent comme de l'octal. Pour accepter la notation CIDR, ajoutez (?:\/(?:3[0-2]|[12]?\d))? avant $.
Testeur d’expressions régulières
Saisissez un modèle et observez les correspondances s'afficher en temps réel dans votre texte de test.