

Utilisation de masques pour spécifier des schémas dans des chaînes › Masque d'échantillon
Masque d'échantillon
Le schéma suivant permet un filtrage précis de la sortie de la commande DIR dans l'interface de commande Windows :
([0-9]{2}/){2}[0-9]{2} *[0-9]{2}:[0-9]{2}(a|p) *[0-9,]+ [_~0-9a-zA-Z ]*(\.[_0-9a-zA-Z ]*)?
Les lignes suivantes correspondent à ce schéma :
26/10/05 07:03p 134,217,723 pagefile.sys
26/10/05 07:03p 1,024 testfile
Les lignes précédentes sont formées des éléments suivants :
- ([0-9]{2}/) représente des chaînes de caractères composées de deux chiffres et d'une marque de barre oblique (/), comme dans "10/".
- ([0-9]{2}/){2}[0-9]{2} est généré sur l'élément précédent et spécifie que la séquence de deux chiffres peut être répétée 3 fois, chaque séquence étant séparée de la suivante par une marque de barre oblique, comme dans "26/10/05".
- *[0-9]{2}:[0-9]{2}(a|p) correspond à un nombre d'espaces suivi par l'heure au format hh:mm suivi de "a" pour le matin et de "p" pour l'après-midi.
- *[0-9,]+ correspond à un nombre d'espaces suivi par un nombre de chiffres et de virgules pour la taille de fichier.
- [_~0-9a-zA-Z]*(\.[_~0-9a-zA-Z]*)? représente une séquence de caractères alphanumériques, traits de soulignement (_) et tildes (~), également suivis par une virgule et une autre séquence. Comme le point (.) est l'opérateur point, il est nécessaire de l'échapper au moyen du caractère d'échappement (\) lorsque nous souhaitons qu'il corresponde à un caractère.
Le schéma d'un masque peut différer selon les caractères exacts à mettre en correspondance. Par exemple [\._~0-9a-zA-Z ]* au lieu de [_~0-9a-zA-Z]*(\.[_~0-9a-zA-Z]*) ? pourrait également correspondre aux noms de fichier dans nos sorties d'exemple, mais sans imposer de contraintes au nombre de points (.) dans le nom de fichier.
Copyright © 2013 CA.
Tous droits réservés.
 
|
|