La version courante : 5.6.1

 

SourceForge.net Logo

Notepad++ - Aide sur les Expressions Régulière

 

Auteur : Georg Dembowski

Notepad++ Liste des Expressions Régulières

Note: Dans le cas ou vous avez installé les plugins, essayez CONTROL+R ou dans le Menu Plugins – TextFX Quick - Find/Replace pour faire apparaître une boite de dialogue avancée incluant une liste déroulante d'expressions régulières ainsi qu'un Recherche/Remplace multi-ligne.


Dans une expressions régulière, les caractères spéciaux interprétés sont :

. Correspond à n'importe quel caractère
( Marque le début d'une region pour isoler une sous chaine; Vous pouvez utiliser l'intérieur de  ( ) dans un "replace with" en utilisant \1, \2 etc.
) Marque la fin d'une region.
\n Avec n entre 1 et 9 se reportant à la nième région marquée qui servira au remplacement. Par exemple, si la chaine recherchée est Fred([1-9])XXX et que la chaine remplacée soit Sam\1YYY , en l'appliquant à Fred2XXX cela devrait générer Sam2YYY .
\< Correspond au début d'un mot utilisant la définition des mots de Scintilla.
\> Correspond à la fin d'un mot utilisant la définition des mots de Scintilla.
\x Permet de rechercher le caractère x qui serait normalement interprété comme un caractère spécial. Par exemple, \[ serait interprété comme [ et non pas comme le début d'un ensemble de caractères.
[...] Indique un ensemble de caractères, par exemple, [abc] signifie n'importe quel caractère a, b ou c. Vous pouvez aussi utiliser des ensembles, par exemple [a-z] pour n'importe quel caractère en minuscule.
[^...] Le complément d'un ensemble de caractères. Par exemple, [^A-Za-z] signifie n'importe quel caractère excepté un caractère alphabétique.
^ Indique le début d'une ligne (sauf si utilisé dans un ensemble, voir ci dessus).
$ Indique la fin d'une ligne.
* Correspond à 0 ou plusieurs fois le caractère qui précède. Par exemple, Sa*m recherche Sm , Sam , Saam , Saaam et ainsi de suite.
+ Correspond à 1 ou plusieurs fois le caractère qui précède. Par exemple, Sa+m recherche Sam , Saam , Saaam et ainsi de suite.

La source de cette information provient de  l'aide du composant edit de Scintilla, mais elle a été adapté au comportement de Notepad++.


Notepad++ Exemples d'Expressions régulières

Important
  • Vous devez cocher la case "Expression régulière" dans la boîte de dialogue Recherche & Remplace
  • En copiant la chaine depuis les exemples, faites attention à ne pas avoir d'espaces en trop sinon l'expression regulière ne fonctionnera pas !
Vous utilisez un MediaWiki (e.g. Wikipedia, Wikitravel) et voulez changer toutes les entêtes 1 "niveau supérieur", donc un H2 devient un H1 etc.
  1. Rechercher ^=(=)
    Remplacer par \1
    Cliquez sur "Remplacer Tout" pour trouver toutes les entêtes2...9 (deux signes égal sont nécessaires) qui commencent en début de ligne (^) et pour remplacer les deux signes égal par seulement le dernier des deux, donc en supprimer un et en garder un.
  2. Rechercher =(=)$
    Remplacer par \1
    Cliquez sur "Remplacer Tout" pour trouver toutes les entêtes2...9 (deux signes égal sont nécessaires) en fin de ligne ($) et pour remplacer les deux signes égal par seulement le dernier des deux, donc en supprimer un et en garder un.
  3. == titre == devient = titre =, voila :-)
VOus avez un document avec beaucoup de dates qui sont au format Allemand (dd.mm.yy) et vous aimeriez les transformer en format triable (yy-mm-dd). Ne soyez pas effrayé par la longueur du critère de recherche – il est long , mais est constitué de plusieurs partie assez simple.
  1. Rechercher ([^0-9])([0123][0-9])\.([01][0-9])\.([0-9][0-9])([^0-9])
    Remplacer par \1\4-\3-\2\5
    Cliquez sur "Remplacer Tout" pour chercher
    • le jour, dont le premier chiffre peut seulement être 0, 1, 2 or 3
    • le mois, dont le premier chiffre peut seulement être 0 or 1
    • mais seulement si le séparateur est . et aucun autre caractères ( . versus \. )
    • mais seulement si aucun nombre n'entoure la date, sinon il pourrait s'agir d'une adresse IP plutôt qu'une date
    et pour écrire tout ceci dans l'ordre inverse, excepté pour les extrémités. Attention : tous les critères RECHERCHE seront supprimés et remplacé seulement par le critère du champ REMPLACER, donc il est obligatoire d'avoir les extrémités dans le champ REMPLACER !
  2. 31.12.97 devient 97-12-31 et 14.08.05 devient 05-08-14 et l'adresse IP 14.13.14.14 n'a pas été changée, voila :-)
Vous avez écrit dans un fichier une liste de fichier en utilisant dir /b/s >filelist.txt dans le fichier filelist.txt et voulez supprimer les URL locales. 
  1. Ouvrez le fichier filelist.txt avec Notepad++
  2. Recherchez \\
    Remplacez par /
    Cliquez sur "Remplacer Tout" pour changer le caractère séparateur \  par le caractère / 
  3. Recherchez ^(.*)$
    Repmplacez par file:///\1
    Cliquez sur "Remplacer Tout" pour ajouter file:/// au début de toutes les lignes
  4. En fonction de vos besoins, procédez au remplacement des caractères comme espace par %20 etc.
  5. C:\!\aktuell.csv became file:///C:/!/aktuell.csv, Voila :-)