Référence des expressions régulières
argus inclut un riche ensemble de motifs d'expressions régulières prédéfinis dans l'en-tête argus/regex.h. Ces motifs peuvent être utilisés avec le validateur REGEX() pour valider les valeurs d'options selon des formats courants.
Utilisation
Pour utiliser ces motifs, incluez l'en-tête des expressions régulières et appliquez le motif avec le validateur REGEX() :
Réseau et communication
| Motif | Description | Format | Exemple |
|---|---|---|---|
ARGUS_RE_IPV4 |
Adresse IPv4 | xxx.xxx.xxx.xxx |
192.168.1.1 |
ARGUS_RE_IP4CIDR |
IPv4 avec suffixe CIDR | xxx.xxx.xxx.xxx/xx |
192.168.1.0/24 |
ARGUS_RE_IPV6 |
Adresse IPv6 | xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx |
2001:0db8:85a3:0000:0000:8a2e:0370:7334 |
ARGUS_RE_MAC |
Adresse MAC | xx:xx:xx:xx:xx:xx ou xx-xx-xx-xx-xx-xx |
01:23:45:67:89:AB |
ARGUS_RE_DOMAIN |
Nom de domaine pleinement qualifié | example.com |
mydomain.example.com |
ARGUS_RE_URL |
URL avec n'importe quel protocole | protocole://domaine/chemin |
https://example.com/path |
ARGUS_RE_HTTP |
URL HTTP/HTTPS | http(s)://domaine/chemin |
https://example.com |
ARGUS_RE_FILE_URL |
URL de fichier | file://chemin |
file:///path/to/file |
ARGUS_RE_PORT |
Numéro de port (1-65535) | 1-65535 |
8080 |
| Motif | Description | Format | Exemple |
|---|---|---|---|
ARGUS_RE_EMAIL |
Validation d'email basique | utilisateur@domaine.tld |
user@example.com |
ARGUS_RE_EMAIL_STRICT |
Validation d'email stricte (conforme RFC) | utilisateur@domaine.tld |
user.name+tag@example.co.uk |
Date et heure
| Motif | Description | Format | Exemple |
|---|---|---|---|
ARGUS_RE_ISO_DATE |
Date ISO 8601 | AAAA-MM-JJ |
2023-01-31 |
ARGUS_RE_ISOTIME |
Date-heure ISO 8601 | AAAA-MM-JJThh:mm:ss |
2023-01-31T14:30:00 |
ARGUS_RE_US_DATE |
Format de date US | MM/JJ/AAAA |
01/31/2023 |
ARGUS_RE_EU_DATE |
Format de date européen | JJ/MM/AAAA |
31/01/2023 |
ARGUS_RE_TIME24 |
Format d'heure 24h | hh:mm[:ss] |
14:30:45 |
Numéros de téléphone
| Motif | Description | Format | Exemple |
|---|---|---|---|
ARGUS_RE_PHONE_INTL |
Numéro de téléphone international | +[pays][numéro] |
+12345678901 |
ARGUS_RE_PHONE_US |
Numéro de téléphone nord-américain | xxx-xxx-xxxx ou (xxx) xxx-xxxx |
123-456-7890 |
ARGUS_RE_PHONE_EU |
Numéro de téléphone européen (général) | +xx xx xxx xx xx |
+33 1 23 45 67 89 |
Identité et sécurité
| Motif | Description | Format | Exemple |
|---|---|---|---|
ARGUS_RE_USER |
Nom d'utilisateur | 3-20 caractères : a-z, A-Z, 0-9, _, - |
john_doe-123 |
ARGUS_RE_PASSWD |
Mot de passe simple | 8+ caractères, lettres & chiffres |
password123 |
ARGUS_RE_PASSWD_STRONG |
Mot de passe fort | 8+ caractères avec minuscules, majuscules, chiffres, symboles |
P@ssw0rd! |
ARGUS_RE_UUID |
UUID (version 4) | xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx |
123e4567-e89b-42d3-a456-556642440000 |
Géographie et localisation
| Motif | Description | Format | Exemple |
|---|---|---|---|
ARGUS_RE_ZIP |
Code postal US | xxxxx ou xxxxx-xxxx |
12345-6789 |
ARGUS_RE_UK_POST |
Code postal britannique | XX[X] X[XX] |
SW1A 1AA |
ARGUS_RE_CA_POST |
Code postal canadien | XnX nXn |
A1A 1A1 |
ARGUS_RE_LATITUDE |
Latitude | -90 à 90 avec décimales |
40.7128 |
ARGUS_RE_LONGITUDE |
Longitude | -180 à 180 avec décimales |
-74.0060 |
Fichiers et chemins
| Motif | Description | Format | Exemple |
|---|---|---|---|
ARGUS_RE_UNIX_PATH |
Chemin absolu Unix | /chemin/vers/fichier |
/home/user/document.txt |
ARGUS_RE_WIN_PATH |
Chemin absolu Windows | X:\chemin\vers\fichier |
C:\Users\User\Document.txt |
ARGUS_RE_FILENAME |
Nom de fichier avec extension | nom.ext |
document.txt |
Nombres et codes
| Motif | Description | Format | Exemple |
|---|---|---|---|
ARGUS_RE_HEX_COLOR |
Couleur hexadécimale | #RRGGBB ou #RGB |
#FF00FF |
ARGUS_RE_RGB |
Couleur RGB | rgb(r,g,b) |
rgb(255,0,255) |
ARGUS_RE_SEMVER |
Version sémantique | X.Y.Z[-pre][+build] |
1.2.3-alpha+001 |
ARGUS_RE_POS_INT |
Entier positif | 1+ |
42 |
ARGUS_RE_NEG_INT |
Entier négatif | -1- |
-42 |
ARGUS_RE_FLOAT |
Nombre à virgule flottante | ±n.n |
-3.14 |
ARGUS_RE_HEX |
Nombre hexadécimal | 0xnnnn |
0x1A3F |
Motifs personnalisés
Vous pouvez définir vos propres motifs d'expressions régulières en utilisant la macro MAKE_REGEX :
La macro MAKE_REGEX prend deux paramètres :
1. Le motif d'expression régulière
2. Un indice ou message d'erreur affiché quand la validation échoue
Échappement dans les chaînes C
Lors de l'écriture de motifs d'expressions régulières en code C, n'oubliez pas de doubler les caractères d'échappement spéciaux :
- Utilisez
\\dau lieu de\dpour les chiffres - Utilisez
\\wau lieu de\wpour les caractères de mot - Utilisez
\\sau lieu de\spour les espaces
Fonctionnalités PCRE2
argus utilise PCRE2 (Perl Compatible Regular Expressions) pour la fonctionnalité d'expressions régulières, donnant accès à des capacités avancées de correspondance de motifs :
- Classes de caractères (
\d,\w,\s) - Quantificateurs (
*,+,?,{n,m}) - Alternance (
a|b) - Groupement (
(abc)) - Ancres (
^,$) - Assertions (lookahead, lookbehind)
- Support Unicode
Apprendre les expressions régulières
Pour plus d'informations sur la création et l'utilisation d'expressions régulières, consultez ces ressources :
Documentation associée
Pour plus d'informations sur l'utilisation des expressions régulières avec argus :
- Guide de validation - Validation de base avec expressions régulières
- Guide avancé d'expressions régulières - Utilisation détaillée des expressions régulières