|
Recherche à l’aide d’expressions GREP
Sur l’onglet GREP de la boîte de dialogue Rechercher/Remplacer, vous pouvez élaborer des expressions GREP pour rechercher des chaînes alphanumériques et des motifs dans de longs documents ou dans plusieurs documents ouverts. Vous pouvez entrer des métacaractères GREP manuellement ou les choisir dans la liste Caractères spéciaux pour la recherche. Les recherches de GREP sont sensibles à la casse par défaut.
Choisissez Edition > Rechercher/Remplacer, puis cliquez sur l’onglet GREP.
Dans le bas de la boîte de dialogue, spécifiez l’étendue de la recherche, puis cliquez sur les icônes pour inclure des calques verrouillés, des gabarits, des notes de bas de page et d’autres éléments dans la recherche
Dans la zone Rechercher, utilisez l’une des méthodes suivantes pour construire une expression GREP :
Entrez l’expression de la recherche manuellement (voir la section Métacaractères de recherche).
Cliquez sur l’icône Caractères spéciaux pour la recherche à droite de l’option Rechercher et choisissez les options des sous-menus Emplacements, Répétition, Correspondance, Touches de modification et Posix pour vous aider à créer l’expression de recherche.
Dans la zone Remplacer par, entrez ou collez le texte de remplacement.
Cliquez sur Rechercher.
Pour poursuivre la recherche, cliquez sur Suivant, Modifier (pour modifier l’occurrence active), Tout remplacer (un message indique le nombre total de remplacements) ou Remplacer/Rechercher (pour modifier l’occurrence active et rechercher la suivante).
 Vous pouvez également utiliser les styles GREP pour appliquer un style de caractère à un texte conforme à une expression GREP. En fait, la boîte de dialogue Styles GREP est un bon moyen de tester votre expression GREP. Ajoutez les exemples que vous voulez rechercher dans un paragraphe, puis définissez un style de caractère et une expression GREP dans la boîte de dialogue Styles GREP. Lorsque vous activez le mode Aperçu, vous pouvez modifier l’expression jusqu’à ce qu’elle s’adapte correctement à tous les exemples.
Conseils pour l’élaboration des recherches de GREPVoici quelques conseils pour la construction d’expressions GREP.
De nombreuses recherches sous l’onglet GREP sont semblables à celles de l’onglet Texte, mais veillez à insérer des codes différents selon l’onglet utilisé. En général, les métacaractères de l’onglet Texte commencent par le symbole « ^ » (par exemple, « ^t » pour un onglet) et ceux de l’onglet GREP par le symbole « \ » (par exemple, « \t » pour un onglet). Cependant, tous les métacaractères n’obéissent pas à cette règle. Par exemple, le retour chariot est noté « ^p » dans l’onglet Texte et « \r » dans l’onglet GREP. Pour obtenir la liste des métacaractères utilisés pour les onglets Texte et GREP, reportez-vous à la section Métacaractères de recherche.
Pour rechercher un caractère ayant un sens symbolique dans GREP, entrez une barre oblique arrière (\) avant le caractère pour indiquer que le caractère qui suit est littéral. Par exemple, entrez un point ( . ) pour rechercher un caractère dans une recherche GREP ; pour rechercher un point, entrez « \ ».
Enregistrez la recherche GREP sous forme de requête si vous pensez l’exécuter souvent ou la partager avec quelqu’un d’autre (voir la section Recherche et remplacement d’éléments à l’aide de requêtes).
Utilisez des parenthèses pour diviser votre recherche en sous-expressions. Par exemple, si vous souhaitez rechercher « cat » ou « cot », vous pouvez utiliser la chaîne c(a|o)t. Les parenthèses sont particulièrement utiles pour identifier les associations. Par exemple, la recherche « le (chat) et le (chien) » identifie « chat » comme Texte recherché 1 et « chien » comme Texte recherché 2. Vous pouvez utiliser des expressions de texte recherché (telles que $1 pour Texte recherché 1) afin de modifier seulement une partie du texte recherché.
Exemples de recherches GREPInspirez-vous de ces exemples pour apprendre à tirer parti des expressions GREP.
Exemple 1 : recherche de texte entre guillemetsSupposons que vous souhaitez rechercher tous les mots entre guillemets (comme « Espagne ») et que vous voulez supprimer les guillemets et appliquer un style à ces mots (de façon à ce que « Espagne » devienne Espagne). L’expression (")(\W+)(") inclut trois associations, comme indiqué par les parenthèses ( ). Les première et troisième associations indiquent que vous recherchez tous les guillemets ; la deuxième association signale que vous recherchez un ou plusieurs caractères de mot.
Vous pouvez utiliser les expressions de texte recherché pour renvoyer à ces associations. Par exemple, $0 renvoie à tout le texte recherché et $2 uniquement à la deuxième association. Si vous insérez $2 dans le champ Remplacer par et que vous spécifiez un style de caractère dans le champ Remplacer le format, vous pouvez rechercher un mot entre guillemets, puis le remplacer par un style de caractère. Si seul $2 est spécifié, les associations $1 et $3 sont supprimées (si vous précisez $0 ou $1$2$3 dans le champ Remplacer par, le style de caractère est également appliqué aux guillemets).
 Exemple de GREP - A.
- Recherche tous les caractères de mot entre guillemets
- B.
- Applique uniquement les changements à la deuxième association
- C.
- Style de caractère appliqué
Avec cet exemple, vous ne recherchez que les mots isolés entre parenthèses. Si vous voulez rechercher des phrases entre parenthèses, ajoutez des expressions génériques, telles que (\s*.*\w*\d*), pour rechercher les espaces, les caractères et les chiffres.
Exemple 2 : numéros de téléphoneInDesign offre un grand nombre de paramètres de recherche prédéfinis que vous pouvez choisir dans le menu Requêtes. Par exemple, vous pouvez choisir la requête Conversion des numéros de téléphone, qui se présente de la façon suivante :
\(?(\d\d\d)\)?[-. ]?(\d\d\d)[-. ]?(\d\d\d\d)
Aux Etats-Unis, les numéros de téléphone peuvent apparaître sous de multiples formes, telles que 206-555-3982, (206) 555-3982, 206.555.3982 ou 206 555 3982. Avec cette chaîne, vous recherchez toutes les variantes possibles. Les trois premiers chiffres (\d\d\d) du numéro de téléphone peuvent être ou non entre parenthèses, c’est pourquoi un point d’interrogation apparaît après chaque parenthèse : \(? et \)?. Notez que la barre oblique inverse \ indique que l’on recherche une véritable parenthèse et qu’il ne s’agit pas d’une sous-expression. Tout caractère situé entre crochets [ ] est recherché ; dans cet exemple, [-. ] indique donc que l’on recherche un tiret, un point ou une espace. Le point d’interrogation situé après les crochets indique que les éléments entre crochets sont facultatifs lors de la recherche. Enfin, les chiffres sont entre parenthèses, ce qui signifie que les associations peuvent être signalées dans le champ Remplacer par.
Vous pouvez modifier les références des associations dans le champ Remplacer par selon vos besoins. Par exemple, vous pouvez utiliser les expressions suivantes :
206.555.3982 = $1.$2.$3
206-555-3982 = $1-$2-$3
(206) 555-3982 = ($1) $2-$3
206 555 3982 = $1 $2 $3
Autres exemples de GREPCes exemples vous permettent d’en savoir plus sur les recherches GREP.
Expression
|
Chaîne de recherche
|
Texte échantillon
|
Correspondances (en gras)
|
Catégorie de caractères
[ ]
|
[abc] ou [abc]
Recherche les lettres a, b ou c.
|
Maria cuenta bien.
|
Maria cuentabien.
|
Début de paragraphe
^
|
^~_.+
Cette recherche s’effectue depuis le début du paragraphe (^) et vise un tiret cadratin (~_) suivi de tout caractère ( . ) une ou plusieurs fois (+).
|
« We saw—or at least we think we saw—a purple cow. »
—Konrad Yoes
|
« We saw—or at least we think we saw—a purple cow. »
—Konrad Yoes
|
Lookahead négatif
(?!motif)
|
InDesign (?!CS.*?)
Cette fonction recherche une correspondance avec la chaîne indiquée seulement si cette dernière n’est pas suivie du motif spécifié.
|
InDesign, InDesign 2.0, InDesign CS et InDesign CS2
|
InDesign, InDesign 2.0, InDesign CS et InDesign CS2
|
Lookahead positif
(?=motif)
|
InDesign (?=CS.*?)
Cette fonction recherche une correspondance avec la chaîne indiquée seulement si cette dernière est suivie du motif spécifié.
Utilisez les mêmes motifs pour les fonctions Lookbehind négatif (?<!motif) et positif (?<=motif).
|
InDesign, InDesign 2.0, InDesign CS et InDesign CS2
|
InDesign, InDesign 2.0, InDesign CS, et InDesign CS2
|
Associations
( )
|
(rapide) (renard) (brun)
|
Le rapide renard brun saute et bondit.
|
Le rapide renard brun saute et bondit.
Tout le texte recherché = rapide renard brun ; Texte recherché 1 = rapide ; Texte recherché 2 = renard ; Texte recherché 3 = brun
|
Parenthèses non marquantes
(?:expression)
|
(rapide) (renard) ($:brun)
|
Le rapide renard brun saute et bondit.
|
Le rapide renard brun saute et bondit.
Tout le texte recherché = rapide renard brun ; Texte recherché 1 = rapide ; Texte recherché 2 = renard
|
Insensible à la casse activé
(?i)
|
(?i)pomme
Vous pouvez également utiliser (?i:pomme)
|
Pomme pomme POMME
|
PommepommePOMME
|
Insensible à la casse désactivé
(?-i)
|
(?-i)pomme
|
Pomme pomme POMME
|
Pomme pomme POMME
|
Multiligne activé
(?m)
|
(?m)^\w+
Dans cet exemple, l’expression recherchée est composée d’un ou de plusieurs (+) caractères de mot (\w) au début d’une ligne (^). L’expression (?m) peut se trouver sur toutes les lignes du texte recherché à traiter en tant que lignes séparées.
(?m)^\w correspond au début de chaque paragraphe. (?-m)^\w correspond seulement au début de l’article.
|
Un Deux Trois Quatre Cinq Six Sept Huit
|
Un Deux TroisQuatre Cinq SixSept Huit
|
Multiligne désactivé
(?-m)
|
(?-m)^\w+
|
Un Deux Trois Quatre Cinq Six Sept Huit
|
Un Deux Trois Quatre Cinq Six Sept Huit
|
Ligne simple activé
(?s)
|
(?s)c.a
Vous recherchez tout caractère ( . ) entre les lettres c et a. Les expressions (?s) comprennent tous les caractères, même s’ils sont situés sur la ligne suivante.
(.) correspond à tout sauf aux sauts de paragraphe. (?s)(.) correspond à tout, y compris aux sauts de paragraphe.
|
abc abc abc abc
|
abc abcabc abc
|
Ligne simple désactivé
|
(?-s)c.a
|
abc abc abc abc
|
abc abc abc abc
|
Répéter un certain nombre de fois
{ }
|
b{3} correspond exactement 3 fois
b(3,} correspond au moins 3 fois
b{3,}? correspond au moins 3 fois (correspondance la plus courte)
b{2,3} correspond au moins 2 fois et pas plus de 3 fois
b{2,3}? correspond au moins 2 fois et pas plus de 3 fois (correspondance la plus courte)
|
abbc abbbc abbbbc abbbbbc
|
abbc abbbc abbbbc abbbbbc
abbc abbbc abbbbc abbbbbc
abbc abbbc abbbbc abbbbbc
abbc abbbc abbbbc abbbbbc
abbc abbbc abbbbc abbbbbc
|
|