grep et indesign - fr32c.free.frfr32c.free.fr/idug/grep2010-laurenttournier-idug-paris.pdf · idug...

27
GREP et InDesign IDUG Paris (30/09/2010) © Laurent Tournier (http://www.indigrep.com – http://twitter.com/indigrep)

Upload: phamtuyen

Post on 13-Mar-2019

224 views

Category:

Documents


1 download

TRANSCRIPT

GREP et InDesignIDUG Paris(30/09/2010)

Laurent Tournier (http://www.indigrep.com http://twitter.com/indigrep)

http://www.indigrep.comhttp://twitter.com/indigrep

IDUG Paris(30/09/2010)Prsentation

GREP AcronymepourGeneralRegularExpressionPrint

Regular Expression (regex) Uneregexestunechanedecaractresquidcritunesriedechanesdecaractreslaidedecaractreslittrauxetdesignesspciauxlesmtacaractres1245 = \d\d\d\d ou \d{4}

Ellereprsenteleschmaoulastructuredunechanedecaractres(unmot,plusieursmots,unchiffre,unnombre,unephrase,unparagraphe,etc.)Adobe = \u\l+ ou A\l{4}

Dans la mesure o lon dcrit un modle, une mme regex peut retourner des chanes de caractres identiques

IDUG Paris(30/09/2010)Prsentation

Rechercher, Remplacer et Formater Automatisation

automatisationparlesrequtesRechercher/Remplacer

automatisationdelamiseenformegrceauxstylesGREP

Les styles GREP formateletextelavole,defaondynamique

nepermetpasleRechercher/Remplacer

nefonctionnequesilescaractresnesontpasaupralableaffectsdunstyledecaractre

lordredesregexestprimordial.Ladernireprvautsurtouteslesautres

IDUG Paris(30/09/2010)Prsentation

Limites de GREP ladiffrencedesstylesimbriqus,onnepeutpasformateruneligne

impossibledechangerlacasse(policeOT,onchangeleglyphe,paslecaractre),moinsdutiliserunscript

onnepeutpasslectionnerunmotifparrapportunstyledeparagrapheoudecaractre,moinsdutiliserunscript

trslimitaveclesvariables

IDUG Paris(30/09/2010)Prsentation

Diffrences entre les modes Texte et GREP GREPestpardfautsensiblelacasse

La touche de modification (?i) dsactive la sensibilit la casse

GREPignoreloptionmotentier

Lesmtacaractresutilisscommecaractresgnriquesdanslesregexdoiventtrechappspourretrouverleursenslittral(saufdansunjeudecaractres)^ . $ * + ? | \ [ ( ) { }

\Q et \E placs de part et dautre dune regex dsactivent cette option

Caractres gnriques Caractrequelconque. Chiffrequelconque\d Lettrequelconque[\l\u]

Espacequelconque\sCaractredemotquelconque\wLettrecapitalequelconque\u

Lettreminusculequelconque\l Lescaractrescombinatoires\S,\U,\L,\D,\W

Caractrequelconque:toutsauflessauts

Lettrequelconque:basdecasseetcapitale

Caractredemot:caractrealphanumrique+underscore

Lettrecapitalequelconque:quelesvraiescapitales

Caractrecombinatoire:toutsauflecaractredontilestlopposex : \D tout sauf un chiffre ; \L tout sauf les lettres capitales

Posix (Portable Operating System Interface x) [[:alnum:]] [[:alpha:]] [[:ascii:]]

[[:blank:]][[:control:]][[:digit:]]

[[:graph:]][[:lower:]][[:print:]]

[[:punct:]][[:space:]][[:unicode:]]

[[:upper:]][[:word:]][[:xdigit:]]

[[=a=]]

niminumtedigentiaedoluptaturraquitesdelestdolecesto(tabl.12)ditatecatiseumquisre,sinctusdaeEgrtesommolumgretsfugiasporist,queEgrtsnobisRechercher : [[=e=]]gr[[=e=]]t[[=e=]]sRemplacer par : Egrets

[[:alnum:]]:caractrealphanumrique[[:alpha:]]:lettrequelconque[[:ascii:]]:128caractresducodeASCII[[:blank:]]:espaceettabulation[[:control:]]:marquede,tabulationet~F[[:digit:]]:chiffrequelconque[[:graph:]]:toutcaractresaufinvisibles[[:lower:]]:lettreminusculequelconque[[:print:]]:caractrealphanumrique,de

ponctuationetdespacement[[:punct:]]:caractredeponctuation[[:space:]]:13espaces+7sauts[[:unicode:]]:toutcaractresup.255[[:upper:]]:lettrecapitale[[:word:]]:caractredemotquelconque[[:xdigit:]]:caractrehexadcimal[[=a=]]:Posixquivalencedecaractre

Unicode (Valeurs & catgories gnrales) \x{nnnn} \p{L*}(Lettre) \p{M*}(Marque)

\p{N*}(Numral)\p{Z*}(Sparateur)\p{C*}(Autre)

\p{P*}(Ponctuation)\p{S*}(Symbole)

Nmiliquameosvolorsollabrundaerisquaequiesint,sus,necerisapero_eossimus.A. Beaturreconsendipentut$1287pores-vendeliBusciacumvoluptaspeet

rectemciaenem@quidunttas{exceprae}oscoraut123,89%pdipsamquiavoluptatemuteet,sitdebisasidolumdolesciasitiorecus89,67ent+asinctetparchilliquenullaceraes? antiomaximen,deliquis$9845=4410re;voloreiuntisexperspisnesquasquassedevendisquiberion12765nonemperumquovoluptistorepelesciisaccatiasesequibus.Ciinumvolorenimaximpossitatio(fig.67)vendemeruptaturevoluptatemfugiaecvolestiberum78duagnat.Sequidolupta(taspicaelaborun(tiundaessi)quatoditius).ditatecatis

Rechercher (signe du dollar en valeur Unicode): \x{0024}Rechercher (une ou +sieurs lettres non latines) : \p{Lo}+Rechercher (nimporte quel symbole montaire) : \p{Sc}

Rechercher (caractre de ponctuation binaire ouvrant): \p{Ps}Rechercher (nimporte quel symbole mathmatique): \p{Sm}

Dlimiteurs (de mot) Dbut\demot Limitedemot\b Non-limitedemot\B

Dbutdeparagraphe^Findeparagraphe$

Dbutdarticle\A Findarticle\Zou\z

Otatiumiumrequassuset,minutierinctomosantur?Quidoluptiametearumnonsegaminauteaquiscipsuntusconsequam,quistrumdelicimi,mincesitatmi,illutmoluptatqueperoruntautenisvendeliquia34mindipsusamsitatiamusutali-bus,veliquosameumfaccuptatus.Ibus,jasmin.Tepraturressusministreeveliderroconnectemetvolesmolectoremodipsumfugiaipsantiorumeaquiditisdoluterciur24minsantvolorest,custgamineriequamconsevollestotemetfaccaesdolectoriaconsedmagnatiostinumautetetautquibusadoloreprae(minceur)preiciumetconsesitatquiaeped[min]magnitaturantposvoluptatemsimolupti.

Rechercher (1 mot entier) : \bmin\b ou \Rechercher (1 mot commenant par min) : \bminRechercher (1 mot finissant par min) : min\bRechercher (1 mot ne commenant pas par min) : \Bmin

Dlimiteurs (paragraphe et article) Dbut\demot Limitedemot\b Non-limitedemot\B

Dbutdeparagraphe^Findeparagraphe$

Dbutdarticle\A Findarticle\Zou\z

Rechercher (1er mot dun ): ^\w+Rechercher (dernier mot dun ) : \w+$

Rechercher (1er mot dun article) : \A\w+Rechercher (dernier mot dun article) : \w+\z

Quantificateurs Zroouunefois? Zroouplusieursfois* Uneouplusieursfois+

Correspondancelapluscourte Zroouplusieursfois*? Uneouplusieursfois+?

Nombredefoisdtermin {n},{n,m}et{n,}

pernamaudionsediInDesignCS4aspelecabillestiaInDesignCSquevendipitquiaItatendiciendamquatemquinesdolutlanessedquoeosrenestiadolorruInDesignCS3praevollest,quiaeverumadminissintipictenQuiquitevoloremagnietautfugiacusamipsamenInDesignCS5dusanducia

Rechercher (chiffre quelconque 1 ou +sieurs fois): \d+Rechercher (ID CS suivi ou non dun chiffre) : InDesign CS\d?Rechercher : \d{4}Rechercher : \l{3,7}Rechercher : \w{9,}

Rechercher (comportement avide) : \(.+\)Rechercher (non avide) : \(.+?\)

Debis(ilmoluptatauteumenis)etur?Quiderferum)queconeaqueredoloreicit,errum(aciaturremharionsequid)quicumreimusutfugiassivelitibusmolupisetipsania

Debis(ilmoluptatauteumenis)etur?Quiderferumqueconeaqueredoloreicit,errum(aciaturremharionsequid)quicumreimusutfugiassivelitibusmolupisetipsania

Correspondance (Sous-expression & Trouv)

Henri,Ballain78,rueOrdener,75018Paristl.:0145852445tl.:0647458412

Philippe,Lelvrier45,boulevardJean-Jaurs,21240Talanttl.:0680546958tl.:0347587474

Jean,Mouillart33,avenuedesSablons,33440Lesparretl.:0421514758tl.:0654714511

Rechercher (2 mots dbutants par une majuscule spars par une vigule) : (\u\l+), (\u\l+)Remplacer par (intervertir) : $2, $1

Sous-expressionmarquante()etnonmarquante(:) Trouv$0-$9

Jeudecaractres[]Jeudecaractresngatif[^]Alternativeou|

Rfrencearrire\1Lookbehind(?

Rechercher (texte entre guillemets) : (.+?)Remplacer par (mme texte en rouge sans guillemets) : $1 + style de caractre

cupideofficietlitvoloriobearumdolorendamvoluptaturaccaboriorestiacomnihitremutemsaeomnimussuntiaipsunturrescipsametquenonevolorerorendaecomnimilitioradevellantusexpliquaectoofficitiusreritoffictocustullitmagniaeratur?Quidquiomnisetesetdoluptatibeatereratatur,simaximusnestrumetoditiodoluptationreritadoloriaberfernatiquidquas

cupideofficietlitvoloriobearumdolorendamvoluptaturaccaboriorestiacomnihitremutemsaeomnimussuntiaipsunturrescipsametquenonevolorerorendaecomnimilitiordevellantusexpliquaectoofficitiusreritoffictocustullitmagniaeratur?Quidquiomnisetesetdoluptatibeatereratatur,simaximusnestrumetoditiodoluptationreritadoloriaberfernatiquidquas

Correspondance (Sous-expression & Trouv) Sous-expressionmarquante()etnonmarquante(:) Trouv$0-$9

Jeudecaractres[]Jeudecaractresngatif[^]Alternativeou|

Rfrencearrire\1Lookbehind(?APRS

AVANT

Correspondance (Jeu de caractres)

Lesequinihicaesapequam1547(quicoresquiFuga).3258Etestoffictetmagnieturadiadebisquam542volutemfacietomnihilmolorepereritfacidearumfaccae15874vendem(velestvelique3esma(conemhilibus1soluptaeped)utvideliatratistvelitate(58743)acestquiaeBrengre)autemprae.EtdolumBrangre:dolointFig.12lautipsumquevoluptasFig.34iditmaionperferrum34,76,98,87volorporeiuntaliamnamlautquamilloreptatesumrenosseditqueperateEtcoreroverciliquis:vellaboremipsanihiliquiaturFig.AremnonseriutquiculpaderemveliseaquoquoisFig.Baudionestrumratur

Rechercher (le chiffre 1, ou le 2, ou le 3, etc.) : [13567]Rechercher (un nombre impair) : \d*[13567]+\bRechercher (Brangre ou Brengre) : Br[ae]ngreRechercher (nimporte quelle lettre comprise entre o et v): [o-v]

Sous-expressionmarquante()etnonmarquante(:) Trouv$0-$9

Jeudecaractres[]Jeudecaractresngatif[^]Alternativeou|

Rfrencearrire\1Lookbehind(?

Correspondance (Jeu de caractres ngatif )

Lesequinihicae34sape:quam1547(quicoresquiFuga).Etestvendem(velest3esma(conemhilibus1soluptaeped)utvideliatratistvelitate(58743)acestBrengre)autem.EtdolumBrangre:dolointFig.12lautFig.34idit.iliquiaturFig.AremnonseriutFig.#quiculpaquoisFig.Baudionestrum

Lesequinihicae34sape:quam1547(quicoresquiFuga).Etestvendem(velest3esma(conemhilibusped)utvideliatvelitate(58743)acestBrengre)autem.

Lesequinihicae34sape:quam1547(quicoresquiFuga).Etestvendem(velest3esma(conemhilibusped)utvideliatvelitate(58743)acestBrengre)autem.

Sous-expressionmarquante()etnonmarquante(:) Trouv$0-$9

Jeudecaractres[] Jeudecaractresngatif[^] Alternativeou|

Rfrencearrire\1 Lookbehind(?Rechercher (labrviation Fig. suivie de tout sauf un chiffre quelconque: Fig\. [^\d]Rechercher (en dbut de , tout sauf deux-points suivis de deux points) : ^[^:]+:

Rechercher (une parenth. ouvrante suivie de tout sauf une parenth. fermante une ou +sieurs fois, suivie dune parenth. fermante) : \([^)]+\) quivalent \(.+?\)Rechercher (chane imbrique) : \([^()]+\)

Correspondance (Alternative) Sous-expressionmarquante()etnonmarquante(:) Trouv$0-$9

Jeudecaractres[]Jeudecaractresngatif[^]Alternativeou|

Rfrencearrire\1Lookbehind(?Loctumsicamiamidienihi,(fig.2)desenessumtradere,sed(fig.3)Castrointecointumpriout(tabl.4)videtquit,prorumte,finat,con(graph.A)verfeculintero(fig.A)nonstrenirtidemportumPatiquodiuveritil(tabl.5)ibunterniapra,ve,cusarefuidiumorearealarbendepecum.Am(graph.2)orat.Aximmovenihictuamednonlostiquo(graph.B)nocciaeiamlarisuntrumusetisseniumpultorioexnonsultorat,quamalatiem.

Rechercher (les abrviations tabl. ou fig. suivies dune espace et dun chiffre queconque) : (tabl\.|fig\.)\s(\d)

Correspondance (Rfrence arrire)

Sinet,inpraeceatquovoluptiseatussusdebitfuga.Idempore1998Idempore1998Idempore1998Idempore2000labinremreconeturesenosexpelibusetursineveroconemetc.etc.etetdolendisberaestrumrio.

Sinet,inpraeceatquovoluptiseatussusdebitfuga.Idempore2000labinremreconeturesenosexpelibusetursineveroconemetc.etc.etetdolendisberaestrumrio.

Rechercher : (etc\.) \1

Rechercher (entres identiques dans la liste) : ([^\r]+\r)\1+Remplacer par (une seule entre) : $1

Sous-expressionmarquante()etnonmarquante(:) Trouv$0-$9

Jeudecaractres[]Jeudecaractresngatif[^]Alternativeou|

Rfrencearrire\1Lookbehind(?AVANT APRS

Correspondance (Lookbehind)

Coreium$453.98consequiamus765.89inisetesequis543.87hit,(54.78)simi,$65.98volorelaborroipit,int6534.65

Coreium$453.98consequiamus765.89inisetesequis543.87hit,(54.78)simi,$65.98volorelaborroipit,int6534.65

Rechercher (un chiffre ou un point une ou +sieurs fois sils sont prcds du signe du dollar: (?Rechercher (me, er ou re sils sont prcds dun chiffre quelconque) : (?fugiam1ervoluptiossi2medollorrum4melandantsandiorpos1redolorpo.

Correspondance (Lookahead) Sous-expressionmarquante()etnonmarquante(:) Trouv$0-$9

Jeudecaractres[]Jeudecaractresngatif[^]Alternativeou|

Rfrencearrire\1Lookbehind(?Ballain,Henri78,rueOrdener,75018Paristl.:0145852445tl.:0647458412

Lelvrier,Philippe45,boulevardJean-Jaurs,21240Talanttl.:0680546958tl.:0347587474

Ballain,Henri78,rueOrdener,75018Paris01458524450647458412

Lelvrier,Philippe45,boulevardJean-Jaurs,21240Talant06805469580347587474

Rechercher (en dbut de un ou +sieurs caractres quelconques la condition dtre suivis de 06) : ^.+(?= 06)Remplacer par (contenu du presse papier avec mise en forme): ~c

Rechercher (tl. la condition dtre suivi de 0 suivi dun chiffre en 1 et 5) : tl\. :(?= 0[1-5])Remplacer : ~c

AVANT APRS

Correspondance (Lookaround) Sous-expressionmarquante()etnonmarquante(:) Trouv$0-$9

Jeudecaractres[]Jeudecaractresngatif[^]Alternativeou|

Rfrencearrire\1Lookbehind(?Maionserepelentdolorsit,cus(Figure23)iumfaccumautenisquidestotemquisiinciaquisesrestiorposamsinvelisplaciautexerrovitaruntprerio.Etquioptae.Namimreiusaernatedolupti(Figure24)onsequam,cusdaecticonsedquiatvolorestioremperanatquossumnosdenioccustiusamvolendiciam(Figure25)volorpos.

Rechercher (le mot figure, une espace et un ou plusieurs chiffres quelconques la condition dtre prcds dune parenthse ouvrante et suivis dune parenthse fermante : (?

Touches de modification Respectdelacasse

activ(?-i) dsactiv(?i)

Multiligne activ(?m) dsactiv(?-m)

Ligneparligne dsactiv(?s) activ(?-s)

Respectdesespaces activ(?-x) dsactiv(?x)

MagnissinnobissequenoselitFruitvendiorrovidfruitmagnatiasautfaciissediosiunt.Possedquoidquam,estrumquodiatesimporerepellorumquaepeconnobit,occaborecaedolodolorrumidutauditaateresciatemquisquamutinistprovidenihiciapligendiautetoffictemesestiisetessumautipitestoiumrepraturmagnatur,serumeicimillesteroesearumhitaplanitemquiamquiblaboruptaquisalibusestemvelissintiditemeverrumendinisdolorrotoreptatemquiaentfugit,intoomnimendaevolorumquatursequatursequedestiaquiat.Pligendiautetoffictemesestiisetessumautipitestoiumrepraturmagnatur,serumeicimillesteroesearumhitaplanitemquiamquiblaboruptaquisalibusestemsequatursequedestiaquiat.

Rechercher : (?i)fruit

Rechercher : (?m)^\w+Rechercher : (?-m)^\w+ (=\A\w+)

Rechercher : (?-s).+

Rechercher : .+ / (?s).+

Ajout de commentaires : (?#)

IDUG Paris(30/09/2010)Ressources

Sites & blogs Adobe(http://help.adobe.com/fr_FR/InDesign/6.0):listedesmtacaractres,conseilspourllaborationderecherchesGREP,etc.+Aideetsupport(http://www.adobe.com/fr/support/indesign)

indigrep[FR](http://www.indigrep.com):articlessuraspectsprcis,prsentationdescriptsGREP

indesignsecrets[EN]:unepagederfrencesGREP(http://indesignsecrets.com/grep)

indiscriptsdeMarcAutret[FR/EN](http://www.indiscripts.com):plusieursbilletstrsbiendocumentssurdiversesmanipulationsGREP;prolongeravecBlogNot!(http://marcautret.free.fr)

CariJansen(http://carijansen.com):plusieursarticlessurlesstylesGrep

IDUG Paris(30/09/2010)Ressources

GrepetInDesignCS3dOlivierBerquin[FR](http://sites.google.com/site/olivierberquin/indesign-grep):quelquesexemplesetliens

theindesignerdeMichaelMurphy[EN](http://www.theindesigner.com):quelquesvidosdontInDesignCS4:LearningGREPde3h45mn

Tips&TechniquesdeKeithGilbert[EN](http://blog.gilbertconsulting.com):quelquesarticlessurdesR/R(URLs)

incunbulodeEduardoAntunes[PT](http://www.incunabulo.com):miseenformesoriginalesavecsoulignement+PDFsynoptiquedesmtacaractresGREP

SMI-Publishing-BlogdeJochenF.Uebel[DE](http://blog.smi.ch):quelquesarticlessurdesmanipulationsassezoriginales(approche,soulignement,sparateurdemilliers)

adobeindesigndeBorisKashcheev[RU](http://adobeindesign.ru):sitequivautlapeinedtrevu

IDUG Paris(30/09/2010)Ressources

Forum Adobe[EN](http://forums.adobe.com/community/indesign/indesign_general)

indesignsecrets[EN]>GeneralInDesignTopics(http://indesignsecrets.com/forum/general-indesign-topics)

Wisibility[FR](http://www.wisibility.com/forum/indesign)

Scripts GREP scriptsdePeterKahrel(http://www.kahrel.plus.com > Free scripts > Various GREP

utilities)Change case: script pour changer la casse des caractres partir de regex enregistres dans le panneau Rechercher/Remplacer

GREP editor : script pour rdiger des regex, les tester, les exporter vers les styles GREP, voir le contenu de toutes les regex enregistres

GREP mapper : script pour voir ce que chaque mtacaractre GREP slectionne parmi les caractres Unicode dont on dtermine librement les zones

IDUG Paris(30/09/2010)Ressources

GREP overview : pour visionner lensemble des regex enregistres

Chain GREP queries : script pour enchaner des requtes GREP (excuter sur le document ou de les exporter vers un nouveau document ID)

scriptdeTeusdeJong(http://www.jongware.com/idgrephelp.html)What the GREP : script qui donne la description dcortique dune expression rgulire [EN]

scriptdeThomasSilkjr(http://indesigning.net/search-and-change-case)Search Change Case : script pour changer la casse des caractres

scriptdeAdiRavid(http://indesignsecrets.com/downloads/TurnGrepStyles2CharStyles.zip)TurnGrepStyles2CharStyles : transformer en vrais styles de caractres les styles GREP (utile pour exportation vers CS3)

AutreRegexCellStyle : formater une cellule de tableau en fonction de requtes GREP [JP] (http://d.hatena.ne.jp/seuzo/20090814/1250176724)

http://www.jongware.com/idgrephelp.htmlhttp://indesigning.net/search-and-change-case

IDUG Paris(30/09/2010)Astuces

Intervertir les colonnes dun tableau

IDUG Paris(30/09/2010)Astuces

Insrer les lettres alphabtiques dans un index