Tutoriels vidéo art graphique gratuits

 
Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Pages: [1]   En bas

Auteur Sujet: Grep est fantastique...[5] / Italiques rebelles entre parenthèses  (Lu 5975 fois)

QueenGhost

  • Invité

Je lis avec beaucoup d'assiduité le livre de Laurent Tournier et parfois ne fais que recopier des regex simples que l'auteur propose pour des solutions simples.

Ici, je souhaite italiser ce qui se trouve entre parenthèses dans un paragraphe.

J'insère donc dans le style du paragraphe concerné le style Grep suivant :

(?<=\()\W+(?=\)),

associé au style de caractère "Italic".

Mais aucun résultat. Contrariant !   :-\
IP archivée

Eddy

  • Global Moderator
  • Wisi Comment on décroche
  • *****
  • Hors ligne Hors ligne
  • Messages: 3239
  • Éternel apprenti.
    • Voir le profil
    • Scriptopedia.org
    • E-mail
Re : Grep est fantastique...[5] / Italiques rebelles entre parenthèses
« Réponse #1 le: novembre 17, 2011, 20:04:56 pm »

Bonsoir QueenGhost.
Ton problème est que recherche des caractères de mots entre tes parenthèses. Le métacaractère \w ne tient pas compte des espaces p.ex.

Je te propose cette regex qui fonctionne parfaitement :
(?<=\().+(?=\))

Cela pose toutefois problème en cas de plusieurs passages entre parenthèses au sein d'un seul paragraphe.
Je cherche la parade !

On recherche donc n'importe quel caractère une ou plusieurs fois a condition qu'il soient précédés d'une parenthèse ouvrante et suivi d'une parenthèse fermante.
Bonne soirée.
« Modifié: novembre 17, 2011, 20:13:45 pm par Eddy »
IP archivée
Config : I-Mac 27" Core I5 12Go RAM - OSX 10.10.X

QueenGhost

  • Invité
Re : Grep est fantastique...[5] / Italiques rebelles entre parenthèses
« Réponse #2 le: novembre 17, 2011, 20:22:30 pm »

Merci Eddy, Lumineux.

Je voulais prendre également les parenthèses :

(?=\().+(?<=\))

Sujet résolu.   ;)
IP archivée

Eddy

  • Global Moderator
  • Wisi Comment on décroche
  • *****
  • Hors ligne Hors ligne
  • Messages: 3239
  • Éternel apprenti.
    • Voir le profil
    • Scriptopedia.org
    • E-mail
Re : Grep est fantastique...[5] / Italiques rebelles entre parenthèses
« Réponse #3 le: novembre 17, 2011, 20:40:46 pm »

Non, pas encore résolu mais ça va pas tarder :

Je te propose ceci :

(?<=\().*?(?=\))

Ceci cherche une suite de caractères quelconque zéro ou plusieurs fois correspondance la plus courte à condition d'être précédée d'une parenthèse ouvrante et suivie d'une parenthèse fermante. Cela prend bien tout en charge même si plusieurs passages au sein d'un même paragraphe sont entre parenthèses.
Si tu souhaites aussi italiser les parenthèses, il suffi de retirer les lookaround !
IP archivée
Config : I-Mac 27" Core I5 12Go RAM - OSX 10.10.X

QueenGhost

  • Invité
Re : Grep est fantastique...[5] / Italiques rebelles entre parenthèses
« Réponse #4 le: novembre 17, 2011, 21:17:29 pm »

Eddy,

Mon regex ressemble à ça maintenant :

(?=\().*?(?<=\))

Mais je ne comprends pas trop la subtilité "technique" entre tes 2 propositions. Je vais continuer à potasser le livre de Laurent. Mais effectivement, l'approche précédente avait un bug.

Bien vu. Merci encore.   ;)
IP archivée

Eddy

  • Global Moderator
  • Wisi Comment on décroche
  • *****
  • Hors ligne Hors ligne
  • Messages: 3239
  • Éternel apprenti.
    • Voir le profil
    • Scriptopedia.org
    • E-mail
Re : Grep est fantastique...[5] / Italiques rebelles entre parenthèses
« Réponse #5 le: novembre 18, 2011, 06:39:11 am »

Bonjour.
Essaye avec la regex précédente de placer deux portions de texte entre parenthèses dans un même paragraphe, voir le problème est plus simple que l'expliquer. ;)
« Modifié: novembre 18, 2011, 07:55:38 am par Eddy »
IP archivée
Config : I-Mac 27" Core I5 12Go RAM - OSX 10.10.X

QueenGhost

  • Invité
Re : Grep est fantastique...[5] / Italiques rebelles entre parenthèses
« Réponse #6 le: novembre 18, 2011, 07:19:45 am »

Salut Eddy,

C'est ce que j'ai fait. J'ai bien vu la différence. Mais il faut que je comprenne bien la différence de syntaxe. Pour ne pas refaire la même erreur une autre fois.

Merci encore.   ;)
IP archivée

L. Tournier

  • Wisi Addict
  • ***
  • Hors ligne Hors ligne
  • Messages: 201
    • Voir le profil
    • GREP et InDesign CS3/CS4
    • E-mail
Re : Grep est fantastique...[5] / Italiques rebelles entre parenthèses
« Réponse #7 le: novembre 18, 2011, 07:30:07 am »

Bonjour,

QueenGhost, aurais-tu lu trop rapidement le passage "Italiciser du texte en romain entre guillemets" de la p. 131 ?  ;)
La différence entre .*? et .+? c'est que la première permet de repérer des parenthèses vides. Dans ton cas, je pense que la deuxième solution est plus pertinente.
bonne journée
IP archivée
GREP et InDesign CS3/CS4. Rechercher, remplacer et formater en un clic, Paris, Dunod, 2009, 160 pages.

Eddy

  • Global Moderator
  • Wisi Comment on décroche
  • *****
  • Hors ligne Hors ligne
  • Messages: 3239
  • Éternel apprenti.
    • Voir le profil
    • Scriptopedia.org
    • E-mail
Re : Grep est fantastique...[5] / Italiques rebelles entre parenthèses
« Réponse #8 le: novembre 18, 2011, 11:31:06 am »

Bonjour Laurent.
La différence entre .*? et .+? c'est que la première permet de repérer des parenthèses vides. Dans ton cas, je pense que la deuxième solution est plus pertinente.

Effectivement, mais en cas de parenthèses vide si on ne formate pas les parenthèses mais seulement leur contenu (ce qu'il me semblais avoir compris par les premier essais de QueenGhost), cela n'a pas d'incidence. Ou peut-être je me trompe ?
IP archivée
Config : I-Mac 27" Core I5 12Go RAM - OSX 10.10.X

QueenGhost

  • Invité
Re : Grep est fantastique...[5] / Italiques rebelles entre parenthèses
« Réponse #9 le: novembre 18, 2011, 11:37:50 am »

Bonjour Laurent (et bonjour Eddy *),

Raté. J'ai lu ce passage mais celui dont on parle se trouve p. 138 :
"Sélectionner une chaîne de caractères entre des signes double (parenthèses, guillements, crochets, etc.)".
-- Dernière ligne du 1er paragraphe (j'aurais dû mieux lire le § suivant !   ;) ).

[Entre parenthèses (mais ici il vaudrait mieux dire entre crochets), comme je l'ai déjà écrit, j'ai les 2 versions du Livre (pdf et papier). Vraiment très dommage que l'on ne puisse par faire du copier-coller à partir du PDF totalement verrouillé contre la copie par Numilog]

Cette impossibilité, et donc la ressaisie de la regex indiquée, a induit une erreur : j'ai tapé un "W" au lieu d'un "w".

Cela marchait donc (finalement) mais seulement pour un mot, la regex ne prenant pas les espaces.

La première version d'Eddy ne fonctionnait pas quand plusieurs groupes de mots entre parenthèses sont présents dans le même paragraphe.

Le dernière version d'Eddy fonctionne :

(?=\().*?(?<=\))

Tu suggères cette autre version qui fonctionne aussi :

(?=\().+?(?<=\))

(celle du fameux second § dont on parlait au début de ce post.)

Mais en essayant plusieurs cas de figures dans le texte, je n'arrive à identifier la différence. Peux-tu être plus explicite ? Merci Laurent.

(* Eddy, j'étais en train de répondre à Laurent quand tu as posté ta réponse   ;) )
IP archivée
 



Wisibility est un sité dédié à la formation aux métiers l’image. Vous y trouverez différentes ressources vous aidant à maîtriser les logiciels graphiques tels que Photoshop, Lightroom, Illustrator, InDesign, Flash… Aujourd’hui, Wisibility réunie plus d'une vingtaine d’experts, intervenant en Entreprise pour former graphistes, webdesigners, développeurs web, photographes, monteurs, trucistes…
Depuis 2006 nous nous sommes spécialisés dans les tutoriels vidéos permettant de se former à distance. Notre forum très actif, géré par une équipe de bénévoles répondra à vos demandes. Vous pourrez également profiter de nos émissions et reportages sur la Wisi TV.
Contact - Wisibility est une marque déposée

Blog - Tutoriels - Wisi TV - Forum