Les expressions régulières sont un moyen très puissant de faire des recherches dans des ensembles de documents textuels, éventuellement très importants, ou dans des chaînes de caractères. L’expression régulière la plus simple, que tous les informaticiens ont tapée au moins une fois dans leur vie, est celle qui permet de lire le contenu d’un répertoire :
> dir *.*
Cette commande DOS permet d'afficher tous les fichiers se trouvant dans le répertoire courant. Elle a un équivalent dans tous les systèmes d'exploitation existants. La chaîne de caractères
*.*
est une expression régulière. Elle représente tous les fichiers dont le nom est constitué de deux groupes de caractères séparés par le caractère
'.'
. En fait, sous DOS, le caractère
*
représente tout type de caractère, sauf le point et la barre oblique.
Les expressions régulières (en anglais
regexp
pour regular expression) s'appuient sur des bibliothèques logicielles qui implémentent des règles et des conventions. Le problème est qu'il n'existe pas de standard en ce domaine, et que plusieurs bibliothèques majeures cohabitent. Si les principes généraux ne changent pas, les syntaxes d'écriture peuvent varier légèrement, ce qui entraîne pour l'informaticien des séances d'arrachage de cheveux sans fin (les séances d'arrachage, pas les cheveux. Quoique...), tant les syntaxes manipulées sont hermétiques.
On peut citer comme bibliothèques celles de
vi
, de
grep
et d'
egrep
, celle du Perl, celle d'Emacs ou encore celle d'Apache. Il en existe bien d'autres, et en cherchant juste un peu, sans se fatiguer, on pourra trouver d'interminables polémiques sur laquelle est la meilleure...