Recherche GREP InDesign (partie 2): groupes et transpositions

groupe-tma-wordpress-featured-tutoriel-grep-2

Introduction: ma première expression Les groupes, transpositions, chaînes et jeux de caractères Positions et conditions GREP Styles

Maintenant que vous avez lu la première partie de ce tutoriel, passons à des choses plus intéressantes que de simplement trouver. Nous allons maintenant brasser un peu les cartes ou plutôt les résultats!

Nouveaux métacaractères GREP pour cette section
Description Emplacement dans le menu Metacaractère
Répéter un nombre de fois   { }
Jeu de caractères @> Match> Character set [ ]
Textes(s) trouvé(s)† @> Found> Found Text $0
Groupe d’éléments 1, 2, 3… @> Repeat> Found 1, 2, 3... $1, $2, $3…
†Ceci se trouve dans le menu de Change to

Regrouper des portions du résultat

C’est bien beau de pouvoir créer une expression qui peut trouver, il faut maintenant pouvoir remplacer. Mettre une portions d’une expression entre parenthèse permet d’identifier cette portion, puis de l’utiliser plus tard lors du remplacement. Mais de quoi je parles, concrètement?!

Transformer un prix

Reprenons notre exemple de la première partie:

$2.39, $4.69, $8.79, $10.99, avec 2.02% d’intérêt pour 2014.

Maintenant, regroupons les éléments de notre expression que nous voulons garder. Remarquez que je n’ai qu’ajouté des parenthèses. Pour le reste, c’est la même expression que l’exercice précédent.

Find what:

\$(\d+)\.(\d\d)
[@]

En GREP, les éléments entre parenthèses sont numérotés dans l’ordre qu’ils apparaissent. Pour les utiliser dans le remplacement, on écrit $1, $2, etc. Donc, pour remplacer notre point par une virgule et changer le signe de dollars de côté,

Find what:

\$(\d+)\.(\d\d)
[@]

Change to:

$1,$2$

Ce qui se passe lorsqu’on clique Replace All, c’est que nous lui demandons de

  1. réutiliser ce qu’il trouve avec le premier groupe (première parenthèse)
  2. ajouter une virgule (qui remplacera le point)
  3. réutiliser ce qu’il trouve dans le second groupe (deuxième parenthèse)
  4. ajouter un signe de dollars pour compléter.

Tout ce qui n’est pas entre parenthèse ne sera pas retenu.

Notez que dans le champs de remplacement, on ne doit pas utiliser le caractère d’échappement pour le signe de dollars.

Standardiser une liste de numéros de téléphone

Dans la fenêtre de recherche/remplacement InDesign, vous pouvez sauvegarder vos recherches lorsque vous cliquez dur la petite disquette (que de moins en moins de jeunes savent ce que ça représente…). InDesign vous fournis quelques recherches pré-enregistrées, tel que la standardisation de numéros de téléphones.

InDesign-search-queries

Disons que la compagnie pour laquelle vous travaillez vous demande de créer les cartes d’affaire de centaines d’employers. Le problème est que la base de données date de longtemps et que les numéros de téléphones ne sont pas tous entrés de la même façon. Certains utilisent des parenthèses, des traits d’unions, des points… bref, c’est un vrai fouillis. Bien entendu, sur les cartes d’affaires, tous les numéros de téléphones doivent êtres formatté de la même façon.

206.555.3982
206-555-3982
(206) 555-3982
206 555 3982

La première étape, déterminer ce qui doit être récupéré

Évidemment, ce qui doit être récupéré dans ce cas-ci, ce sont les 3 séries de chiffres.

206.555.3982
2065553982
(206) 5553982
206 555 3982

Donc, l’expression devra comporter les éléments suivants:

(\d\d\d) (\d\d\d) (\d\d\d\d)

La seconde étape, utiliser le Jeu de caractères pour attraper ce qui se trouve entre les chiffres

Nous allons utiliser le Jeu de caractère pour cette recherche. Tous les caractères que vous mettrez entre les deux crochets [ ], peu importe l’ordre, sera vérifié. Autrement dit, ce qui se trouve dans le jeu de caractère entre dans la catégorie des et/ou. Et finalement, pas besoin de caractère d’échappement.

Entre les chiffres, nous retrouvons des points , des et des espaces .

[.- ]

Et pour réglé le cas des parenthèses, comme nous l’avons vu dans la partie précédente… le ?. Mais étant donné que les parenthèses sont utilisée en GREP pour créer des goupes, nous devront utiliser la caractère d’échappement\

\(? \)?.

Au final, en combinant toutes nos sections, nous nous retrouvons avec une expression comme celle-ci:

Find what:

\(?(\d\d\d) \)?[-. ]?(\d\d\d)[-. ]?(\d\d\d\d)
[@]

Change to:

$1.$2.$3

Maintenant, tous nos numéros seront séparés par des points et sans parenthèses.

206.555.3982
206.555.3982
206.555.3982
206.555.3982

Bien que dans ce cas ce ne soit pas pertinent, les jeu de caractères permettent d’utiliser des portées. Donc:

[a-z] = [abcdefghijklmnopqrstuvwxyz]
[0-9] = [0123456789]

Simplifier avec Répéter un nombre de fois

Plutôt que de répéter trois ou quatre fois le \d, nous aurions pus utiliser les accolades { }

\d\d\d\d? = \d{4}

Est-ce que ça change de beaucoup l’expression? Pas dans ce cas-ci. Mais imaginez que vous ayez des séries de chiffres qui peuvent varier entre 1 et 9 chiffres de long. Vous imagines l’expression avec 9 \d!! Surtout que le champs de la fenêtre de recherche InDesign ne s’élargi pas.

Ce qui est bien aussi avec Répéter un nombre de fois, c’est que c’est possible de demander un minimum et un maximum. Par exemple, imaginez que vous avez une liste d’achat de produits avec des codes qui n’ont pas tous le même nombre de chiffres, suivit de prix qui, évidemment, contiennent aussi des chiffres.

MDR200900........232,99$
HUMM200901........249,99$
BRB2556........269,99$
AFK55988........279,99$

Premièrement, déterminer le nombre minimum et maximum que contiennent les codes à trouver. Dans ce cas-ci, c’est entre 4 et 6 chiffres. Nous pourrions construire une expression qui irait comme ceci:

Find what:

\u+\d{4,6}
[@]

Change to:

 

Formatage: Bold

Une fois que nous trouvons ces chiffres, nous pouvons laisser le champs Change to de InDesign vide, et simplement appliquer un formatage aux codes trouvés, dans ce cas-ci, le mettre en gras. Lorsqu’un formatage est spécifié, il n’effacera pas le texte trouvé.

image resultat appliquer formattage

D’accord, mais si ne ne connais pas le nombre maximum de chiffres?

Avec Jeu de caractères, vous pouvez omettre le dernier chiffre.

Par exemple, pour dire 3 chiffres ou plus:

\d\d\d+ = \d{3,}

Et la suite!?

Dans la troisième partie…Recherche GREP (partie 3)

  • Trouver du texte selon l’endroit où il se trouve (si le mot est au début d’une phrase);
  • Mettre plusieurs choix (trouver chien OU chat);
  • Mettre des conditions (trouver une lettre seulement si elle est précédée d’un chiffre).

Cliquez sur l’une de ces icônes afin de savoir quand paraîtra la suite de ce tutoriel.

logo groupe tma   logo facebook   logo twitter


Loading...