Les expressions régulières sont assez courantes dans la programmation informatique. Mais ils sont également disponibles pour les utilisateurs finaux. Par exemple, si vous utilisez PowerShell ou la commande Findstr, vous pouvez les utiliser. Et il existe des utilitaires tiers (tels que Agent Ransack et EditPad) qui prennent en charge les expressions régulières. Comme ils sont si utiles dans de nombreux environnements différents, j’ai décidé qu’une astuce à leur sujet s’imposait.

Une expression régulière est une chaîne, souvent composée de caractères spéciaux, conçue pour correspondre à un modèle de recherche. Par exemple, si nous utilisons la commande Findstr, nous pouvons rechercher le mot « document »

immédiatement suivi d’une virgule ou d’un point en spécifiant la chaîne de recherche « document [,.] ». Les caractères spéciaux dans ce cas sont les crochets, ce qui signifie que l’un quelconque des caractères inclus doit suivre le mot «document».

De nombreux caractères spéciaux peuvent être utilisés dans une expression régulière. Nombre d’entre eux sont énumérés ci-dessous:

Character

Description

Match 0 or more characters. Example: haven matches both heaven

and haven.

+

Match 1 or more characters. Example: he+aven matches heaven and

heeaven but not haven.

^

Match what follows only if it’s at the beginning of the string.

Example: if your regular expression is ^document, it will match document

in the string « document the requirements », but it will not match

anything in the string « this is a requirements document ».

$

Match what precedes only if it’s at the end of the string.

Example: if your regular expression is document$, it will match document

in the string « this is a requirements document », but it will not match

anything in the string « document the requirements ».

\d

Match a digit. Example: \d matches each digit individually in

the string « my degree is from 1987 ». If you want to match all four

digits at once, just repeat the \d like \d\d\d\d.

.

Match any single character. The period is like a wildcard in that

it will match anything.

(a

b)

Pour voir les expressions régulières en action, combinons-en quelques-unes et utilisons la commande Findstr pour rechercher des occurrences de chaînes dans un fichier. J’ai un fichier appelé Barry.tmp qui contient le texte suivant:

Video provides a powerful way to help you prove your point.  When you click Online Video, you can paste in the embed code for  the 20 or 30 videos you want to add. You can also type a keyword  to search online for the video that best fits your document.

Utilisons Findstr pour trouver des chaînes de chiffres dans le fichier: (Voir Figure 1.)

image

Figure 1. Recherche de chaînes de chiffres.

Permettez-moi de vous présenter quelques autres concepts. Vous pouvez utiliser une paire de crochets pour délimiter une plage de caractères à trouver. Par exemple, la spécification de _ [a-z] _ correspondra à n’importe quel caractère alphabétique. Il convient également de noter que vous utilisez la barre oblique inverse (\) pour «échapper» le caractère qui suit et le traiter littéralement. Ceci est utile si vous souhaitez rechercher un caractère qui serait autrement traité comme faisant partie de l’expression régulière. Armés de ces deux informations, nous pouvons maintenant rechercher dans notre fichier un caractère alphabétique suivi d’un point, c’est-à-dire trouver des lignes qui sont des fins de phrases: (Voir Figure 2.)

image

Figure 2. Recherche de fins de phrases.

Permettez-moi de terminer par un mot d’avertissement: d’après mon expérience, le moteur d’expressions régulières utilisé sur la ligne de commande Windows est un peu différent de la plupart des moteurs d’expressions régulières. Les expressions régulières qui devraient fonctionner (et qui fonctionnent dans d’autres utilitaires) peuvent ne pas fonctionner comme prévu sur la ligne de commande. Donc, sachant que votre kilométrage peut varier, essayez-les, mais ne pariez pas sur votre prochain chèque de paie que ce que vous avez entré fonctionnera comme prévu.

Cette astuce (1364) s’applique à Windows 7, 8 et 10.