Expressions régulières : Opérateurs de recherche Search & Replace regex2 shg Opérateurs de recherche

Index des opérateurs de recherche

Opérateurs élémentaires
  * – Zéro ou plusieurs
  + – Un ou plusieurs
  ? – Un seul caractère
  | – Opérateur OU
  ! – Opérateur NON
  ^ – Début de ligne
  $ – Fin de ligne
  ^^ – Début de fichier
  $$ – Fin de fichier

Opérateurs de sous-ensembles
  [] – Séquence
  () – Sous-Expressions
  +n – Nombre d’occurences

Informations particulières
   Notes importantes
   Recherche des caractères réservés
   Remplacement dans les documents binaires (Word, Excel, Bases de données…)

Voir aussi :
   Aperçu général
   Opérateurs de remplacement
   Opérateurs de remplacement spéciaux
   Utilisation de compteurs
   
Exemples

 

 

Notes importantes :

  • Les caractères ayant une signification spéciale tels que + * ? ( ) [ ] \ | $ ^ ! doivent être précédés du caractère \ pour être recherchés.
    Par exemple, pour rechercher des textes entre parenthèses il faut utiliser \(*\)
    Les opérateurs de remplacement utilisent un autre ensemble de caractères réservés.

  • La “portée” de la recherche peut être contrôlée par l’intermédiaire du paramètre Taille maximale des expressions régulières situé sur la fenêtre de l’onglet “Recherche” des options de Search and Replace.

  • Attention : Voir la rubrique Remplacement dans les documents binaires (Word, Excel, Base de Données…) qui contient des informations importantes à l’attention des utilisateurs souhaitant utiliser Search and Replace pour faire des remplacements dans les documents binaires tels que (mais pas exclusivement) :

doc Document Word
drw Document Draw
lbr Base de donnée
ppt Présentation PowerPoint
xls Tableau Excel.

Certaines précautions doivent en effet être prises afin d’éviter d’endommager les fichiers binaires. Il conviendra en général de conserver une copie de sauvegarde des documents (Une des options de Search and Replace vous permet de faire ceci automatiquement) avant de travailler sur ces fichiers. Dans la mesure du possible, nous vous recommandons de travailler uniquement sur une version dite “texte” de ces fichiers : RTF pour un document DOC, SLK pour un tableau XLS…

 


Opérateurs de recherche élémentaires

*

Zéro ou plusieurs : Permet de trouver zéro ou plusieurs caractères spécifiés par l’expression associée entre () ou []. * peut aussi être utilisé seul. Dans ce cas, * permettra de trouver toute chaîne de caractères à partir du début de la ligne jusqu’à la fin de la ligne. La portée maximale de l’opérateur * est fixée par l’intermédiaire de l’option Taille maximale des expressions régulières disponible dans la fenêtre des Options de Search and Replace.

 

*(ss)
*[es]
Windows *[0-9]
Windows*[]98

i*(l)e

trouve
trouve
trouve
trouve

trouve

Adresse, professionnel
adresse, professionnel, professionnel
Windows 95, Windows 98
jusqu’à 32767 caractères (sur plusieurs lignes)
   entre Windows et 98 comme par exemple
   Windows 98, Windows NT et 98, Win98
Juillet, garantie, automobile

 


+

Un ou plusieurs : Permet de trouver un ou plusieures occurrences de l’expression spécifiée. L’opérateur + est prévu pour être utilisé en association avec () ou []. Il peut néanmoins être utilisé seul. Dans ce cas, il désignera un ou plusieurs caractères (voir l’exemple i+e ci-dessous.

 

+(é)
i+e
i+(l)e
a+[tp]e
r+(é)

trouve
trouve
trouve
trouve
trouve

Réelle, créée
Police, liste, motif du rejet (mais pas compagnie ni monsieur)
Juillet, automobile, domicile
date, attestation, apte, attendant
Due, réelle, créée, ager

 


?

Un seul caractère / une seule occurrence : Permet de trouver un et un seul caractère avant ou après une chaîne spécifiée. Permet également de trouver un et un seul caractère entre 2 chaînes spécifiées. Combiné avec () , il permet de trouver une et une seule occurrence de l’expression spécifiée entre ().
Evitez d’utiliser ? seul car vous trouveriez, un à un, tous les caractères d’un document ce qui est relativement long ne présente pas, outre mesure, d’intérêt !

 

?(es)
Win?98
r?(é)e

trouve
trouve
trouve

Adresses, adresses, des
Win 98
, Win-98, Win/98 (mais pas Win98)
Due, réelle, ager (mais pas créée)

 


|

Opérateur OU : Trouve l’une ou l’autre des expressions figurant de part et d’autre du symbole |. Les différentes chaînes à trouver, séparées par le symbole |, doivent être encadrées entre (). Les chaînes à trouver situées entre () ne doivent pas contenir l’un des opérateurs *+^$ qui peuvent néanmoins être utilisées à l’extérieur des ().

 

(01/|02/)+[0-9](/95|/98)
/(12|01|1)/+2[0-9]
w*[a-z ](98|NT)
(je|nous|ils) vous adre*[]+[ ]

trouve
trouve
trouve
trouve

01/15/98 & 02/12/98
28/12/99, 13/1/96, 13/12/97, 8/01/98
Windows 98, Win NT
Je vous adresse
, nous vous adressons,
ils vous adresseront

 


!

Opérateur NON : Permet d’exclure certaines occurrences spécifiées par l’expression entre () suivant le symbole !. L’opérateur doit suivre une expression utilisant un ou plusieurs opérateurs de recherche tels que * ou ? qui constitue la partie positive de la recherche. La partie négative est constituée par l’expression située entre (). Celle-ci est recherchée dans les différentes occurrences trouvées par la partie positive de la recherche. Les occurrences contenant l’expression entre () sont éliminées de la recherche. L’opérateur !() peut être suivi d’autres opérateurs de recherche et agit alors comme un opérateur ET signifiant “trouver les occurrences satisfaisant à la fois la première partie de l’expression et la seconde”. Les opérateurs qui suivent !() ne sont pas adressables par les opérateurs %n. La syntaxe de l’opérateur NON a été modifiée depuis la version 3.1. Voir les rubriques Changement de syntaxe de l’opérateur NON et Exemples de l’ancienne syntaxe NON pour plus d’informations.

 

chèque*!(635)

?at!((b|p)at)
*Frs!(dépôt*Frs)

*Frs!()+3[0-9].+3[0-9]

+3[0-9].+3[0-9]*!()\$

trouve

trouve
trouve

trouve

trouve

chèque n°249xxx , chèque n°814xxx (mais pas chèque n°635xxx)
m
at & rat (mais pas ‘b’at ni ‘p’at)
Encaissement xxx Frs, retrait xxx Frs (mais pas
dépôt xxx Frs)

Dépôt de 200.000 Frs, souscription de 150.000 Frs
mais aucune opération de moins de 6 chiffres imposée par +3[0-9].+3[0-9]
100.000 $, 150.000 $ mais pas 100.000 Frs ni
100.000 €

Ces 2 derniers exemples illustrent l’utilisation de
   !() comme opérateur ET.

 


^

Opérateur Début de ligne : Permet de spécifier une expression commençant au début d’une ligne. L’opérateur ^ peut être combiné avec d’autres opérateurs ou sous-expressions. L’usage de ^ doit être proscrit à l’intérieur d’expressions entre (). Préférer la forme équivalente suivante \r. Exemples :

 

^Monsieur

^(Copie|PJ)*

trouve

trouve

Monsieur situé au début d’une ligne
   (si l’option Majuscules/minuscules est cochée)
Copie pour information, PJ : Note du xxx en début de ligne

 


$

Opérateur Fin de ligne : Permet de spécifier une expression devant être trouvée à la fin d’une ligne. L’opérateur $ peut être combiné avec d’autres opérateurs ou sous-expressions. L’usage de $ doit être proscrit à l’intérieur d’expressions entre (). Préférer la forme équivalente suivante \r. Exemple :

 

Frs$

trouve

Frs situé à la fin d’une ligne

 


^^

Opérateur Début de fichier : Permet de trouver une expression commençant au début d’un fichier. Exemples :

 

^^Monsieur

^^+50[]

trouve

trouve

Monsieur uniquement situé au début d’un fichier.
    attention : cela ne trouverait pas Monsieur même s’il était le premier mot dans un fichier de type Word car le début du fichier contient d’autres informations !
Les 50 premiers caractères d’un fichier.

 


$$

Opérateur Fin de fichier : Permet de trouver une expression située à la fin d’un fichier. Exemples :

 

*$$
<table*[]</table>*[]$$

trouve
trouve

La dernière ligne d’un fichier
La dernière instruction <table>” dans un fichier.

 


Opérateurs de recherche de sous-ensembles

[ ]

Séquence : Permet de trouver une suite de caractères telle que spécifiée entre []. La séquence peut être composée d’une énumération de caractères comme par exemple [aeiou] ou être composée de fourchettes telles que [a-zA-Z] ou être vide [] ou complexe. Cet opérateur peut bien sûr être combiné avec d’autres opérateurs.

Utilisé sous la forme vide [], il permet de trouver tout caractère et est équivalent de ?[]. Utilisé sous la forme vide *[], il permet de trouver toute suite de caractères, y compris, à cheval sur plusieurs lignes d’un fichier… dans la limite fixée dans les options sous la rubrique taille maximale Expression Régulière. Les opérateurs ?*+ permettent éventuellement de spécifier la taille de la chaîne recherchée : un caractère, plusieurs caractères ou un nombre précis de caractères. Les séquences abrégées ou fourchettes sont définies sous la forme de 2 caractères séparés par un tiret. Plusieurs séquences peuvent être associées entre un même []. Le tiret – peut lui aussi être recherché en le faisant précéder d’un \. Exemples :

 

v[]e
H*[]d
*[0-9]
+[0-3]
[a-z]

*[a-zéèê]

trouve
trouve
trouve
trouve
trouve

trouve

Vue, Vie
Hello (cr -lf) World à cheval sur 2 lignes
234907, 5795 et plus généralement toute suite de chiffres
1, 23, 310 mais aucun nombre comportant les chiffres 4 à 9
N’importe quel caractère en minuscules ou n’importe
   quel caractère si l’option majuscule/minuscule
   n’est pas cochée
N’importe quel mot en minuscules contenant
éventuellement les minuscules accentuées é, è ou ê.

 

Note: [] est également utilisé dans les opérations mettant en œuvre des compteurs.

 


(
)

Sous-expressions: Les parenthèses sont utilisées pour définir des sous-expressions. Elles sont par exemple utilisées avec l’opérateur OU. Exemples :

 

Win( 98|dows 98)

trouve

Windows 98, Win 98

 


+n

Nombre d’occurences : Cet opérateur est utilisé pour trouver un nombre précis de caractères ou d’occurrences de chaîne(s) avant ou après une expression. Cet opérateur composé du signe + et d’un nombre est généralement suivi de [] ou (). Le nombre qui suit + correspond aux nombres d’occurrences consécutives à trouver. Lorsque le nombre est suivi de (), Search & Replace recherchera n occurrences de la chaîne spécifiée. Lorsque le nombre est suivi de [], Search & Replace recherchera n caractères répondant à la séquence définie. Le nombre d’occurrences peut être précis ou être défini par une fourchette +n-m, les 2 nombres étant séparés par un -. Exemples :

 

@+2-10[a-z]
projet+10[]
+3-10[0-9. ]Fr

+2(nous )

Trouve
trouve
trouve

trouve

@online.fr, @searchandreplace.com, @le99.com
projet de repris
e, Projet d’aménagement
2000, 15.000 et 10.000 Fr dans
   dépôt de 2000 Frs
   souscription de 15.000 Frs
   moins de 10.000 Frs
Nous nous dans “Nous nous sommes promenés”

 


Recherche des caractères de recherche réservés

- + * ? ( ) [ ] \ | $ ^ !

Pour rechercher l’un des caractères ci-contre, il faut le faire précéder du caractère \. Dans le cas contraire il serait interprété comme un opérateur de recherche. Par exemple, pour rechercher le symbole $ dans 1000 $, il faut utiliser l’expression suivante : [0-9] \$

Opérateurs de recherche