J’inaugure cette nouvelle rubrique consacrée à l’utilisation du GREP dans InDesign, mais pas que, par une requête GREP (regex) pour InDesign destinée à capter les URL de toutes natures.
On peut l’utiliser en Rechercher-remplacer GREP ou bien en Style GREP.
(?i)(https?|www|ftp|feed)\S+\>
Explication :
(?i) : par défaut GREP est sensible à la casse, placer cette instruction en début de requête désactive cette “sensibilité”.
( ) : les parenthèses délimitent une “expression”.
| : la barre, ou pipe en anglais, signifie l’alternative “ou”.
https? : le point d’interrogation immédiatement à droite d’un caractère signifie que celui-ci est facultatif, ici on recherche donc “http” avec ou sans le “s” final.
(https?|www|ftp|feed) : on recherche “http” ou “https” ou “www” ou “ftp” ou “feed”, on pourrait en ajouter d’autres.
\S : en GREP l’utilisation d’un métacaractère en capitale inverse la requête. Comme “\s” signifie “espace quelconque”, alors “\S” signifie “caractère quelconque sauf l’espace”. L’absence d’espace étant précisément une des caractéristiques des URL, il est plus simple d’éliminer ce qu’on ne cherche pas plutôt que de devoir cerner précisément ce qu’on cherche avec des kilomètres de requêtes.
+ : signifie “présent une ou plusieurs fois”.
\> : indique la fin d’un mot, c’est-à-dire qu’il doit être suivi d’une espace, d’une fin de paragraphe, d’un saut de ligne, d’une ponctuation, etc. L’important étant que toute ponctuation ou parenthèse suivant l’URL ne soit pas captée avec.
On recherche donc “http” ou “https” ou “www” ou “ftp” ou “feed”, suivi de n’importe quel caractère sauf l’espace, ce dernier caractère pouvant être répété une ou plusieurs fois.
A noter :
Depuis la version CS6 le panneau “Hyperliens” de InDesign propose aussi la détection d’URL, avec application d’un style de caractère. Mais il n’a pas le fonctionnement dynamique et la souplesse d’un Style GREP, il a le même fonctionnement statique que le Rechercher-remplacer.
À bientôt pour un autre abracadabraGREP.