Expressions régulières : Aperçu

Les expressions régulières sont des formules permettant des recherches (et remplacements) très puissantes. Elles sont idéales pour effectuer des recherches avancées notamment lorsque les éléments recherchés sont complexes. Les expressions régulières mettent œuvre des caractères spéciaux et des opérateurs permettant de décrire les informations recherchées et les remplacements souhaités.

Les expressions régulières sont mises en œuvre par l’intermédiaire du bouton suivant qui agit comme un commutateur pour les commandes recherche et de remplacement :

Search & Replace regexbtn shg Aperçu

Lorsque cette option est activée, Search and Replace effectuera une recherche / remplacement de type expression régulière lors de l’utilisation des commandes “Rechercher” ou “Rechercher et Remplacer”. A partir de ce moment, les caractères ayant une signification spéciale tels que + * ? ( ) [ ] \ | $ ^ ! devront être précédés du caractère \ pour être recherchés.

Les expressions régulières peuvent contenir des caractères binaires, faire référence à des opérateurs de remplacement spéciaux et /ou à des variables d’environnement. Elles peuvent également tenir compte des majuscules / minuscules. La portée de la recherche peut être ajustée au moyen d’une option de recherche.

La syntaxe des expressions régulières est, pour la partie recherche, un sous ensemble de la commande grep utilisée en environnement Unix. Pour le remplacement, Search & Replace utilise (avec des extensions) une syntaxe similaire à la notation des paramètres %n utilisée dans les fichiers batch (BAT) sous DOS.

Les principales différences entre les expressions régulières de Search and Replace et la commande grep unix sont les suivantes :

L’opérateur . n’est pas supporté

Les opérateurs * + ? ! doivent précéder une expression encadrée entre () ou []. Dans le cas contraire ils désigneront tous les caractères compris entre le début et la fin de la ligne. Par exemple, l’équivalent de la syntaxe grep [123]* pour rechercher toute chaîne de caractère strictement composée de la série 123 est *[123]. Dans le cas où l’expression [123]* serait utilisée, elle désignerait toute chaîne de caractère commençant la série 123 et se terminant à la fin de la ligne.

 

Note: la syntaxe de l’opérateur NOT (NON) a changé avec la version 3.1 de Search and Replace. Les utilisateurs des versions précédentes de Search and Replace peuvent consulter la rubrique Changement de syntaxe de l’opérateur NON pour plus d’informations.

IMPORTANT: En cas de problème de non-fonctionnement apparent d’une expression régulière, il convient de vérifier que le mode ‘Expression Régulière’ est bien activé au moyen du menu/bouton Search & Replace regexbtn shg Aperçu de la fenêtre principale ou dans un script de commandes.

Sommaire de l’aide

Opérateurs de recherche

Opérateurs de remplacement

Exemples

Aperçu