

#2
Posté 21 March 2014 - 11:44 AM
Des erreurs, il y en a plusieurs.
Pour le GREP chaque caractère est important :
- si tu mets des espaces, ils ont un sens et modifient la mécanique de la recherche.
J'ai remplacé les espaces par des puces dans ta formule pour les visualiser et en parler :
(•?<=•«•).+•?(•?=•»)
Les puces rouges modifient carrément la structure interne de la recherche.
Pour le premier tu n'as plus un lookbehind mais un truc dont je n'ai même pas cherché le sens…
Le second et le point d'intérrogation qui suit, je ne vois pas le sens que ça peut prendre…
Le troisième annule l'effet du lookahead, idem, je ne sais pas ce qu'il fait du coup.
Quant aux puces bleues, pour toi ce sont des espaces, ou bien tu les as mis là au hasard ? J'avoue ne pas trop savoir… Si tu veux rechercher des guillemets entourés d'espaces, tu dois utiliser les raccourcis correspondants. Je ne conseille pas d'utiliser le caractère espace dans un GREP (même pas avec la méthode d'échappement dont je parle juste après). Pour une espace quelconque le raccourcis est \s . Il y a des types d'espaces différents, tu trouveras la liste dans les sous menu du champ GREP.
Pour les guillemets ouvrants ou fermant, c'est pareil, tu ne peux pas les utiliser comme ça car ils ont un sens GREP. Mais tu as 2 solutions :
- soit tu utilises les raccourcis correspondants qui sont dans l'ordre ~{ et ~}
- soit tu "échappes" le caractère, c'est à dire que tu places avant un antislash \ qui va prévenir le moteur grep de ne pas rechercher un sens particulier au caractère qui le suit. Dans l'ordre : \« et \»
Après, si les explications ne suffisent pas, voici un début de formule que tu peux enrichir comme tu veux.
(?<=~{).*(?=~})
[EDIT]
PS : j'ai retrouvé le sens du •?
Il permet de rechercher uniquement jusqu'au premier guillemet suivant. A utiliser évidemment sans l'espace.
Ça me permet de poser un autre truc.
Je préfère utiliser le caractère * de préférence au + justement parce que l'enchainement +? à également un sens GREP et ça peut porter à confusion entre (.)(+?) et (.+)(?)
Les parenthèses ne sont là que pour mettre en valeur les 2 découpages différents du sens.
Pour info, la différence entre les 2 :
.+ recherche des caractères quelconques une ou plusieurs fois
.* recherche des caractères quelconques zéro ou plusieurs fois
#3
#5
Posté 21 March 2014 - 15:37 PM

[Edit] Avec ta nouvelle formule, il m'en trouve 2, mais toujours pas le premier de la liste.
Autre question, comment faire pour inclure les guillemets dans le résultat de la recherche ?
#6
Posté 21 March 2014 - 16:25 PM
Citation
Pour le reste, je ne sais pas. Je ne m'en sert jamais en recherche. Sans doute parce que tes guillemets courrent sur plusieurs paragraphes et que les GREPS ne fonctionnent qu'à l'intérieur d'un paragraphe.
#7
Posté 21 March 2014 - 17:59 PM
dldler, le 21 March 2014 - 16:25 PM, dit :
C'est tout à fait honorable, mais alors que \«.+\» fonctionne, votre proposition ~{.+~} fait planter Indesign à la seconde recherche, et je voulais juste savoir si ça venait de ma formule, ou de l'utilisation des ~{
Mais tout ça n'est pas bien grave.
En tout cas merci pour votre aide.
JC+
#8
Posté 21 March 2014 - 18:40 PM
Rechercher mot entre parenthèses inclues : \((?<=\().+?(?=\))\)
Et comme à chaque fois que je publie une de ses formules magiques je ne manque pas de mettre un lien vers la bible GREP de L. Tournier dont je ne saurais plus me passer (la bible, pas Laurent) : http://goo.gl/NY3R0u

#9
Posté 21 March 2014 - 19:01 PM
Donc c'est : \«((?<=\«).+?(?=\»))\» ou \{((?<=~{).+?(?=~}))\} ?
Car ça marche avec la première, mais l'autre ne trouve aucune correspondance dans mon document.
JC+
#10
Posté 21 March 2014 - 21:47 PM
Mais si tu remplaces parenthèse par guillemet-français, est-ce que ça fonctionne ?
(A priori ça devrait…???)

Répondre à ce sujet

1 utilisateur(s) li(sen)t ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)