Skip to content

Yahoo Pipes : tutoriel 6 (Expressions régulières)

13/05/2009

Liste des tutoriels Yahoo Pipes

Le tuto 5 abordait pour la première fois la question des expressions régulières. On a vu l’usage du point et le problème des parenthèses.

Nous avons vu comment chercher des expressions variables, et les remplacer par une expression constante.

Mais comment remplacer

Quelque chose 1 quelque chose 2 quelque chose 3

par :

Quelque chose 3 quelque chose 2 quelque chose 1

Par exemple la structuration des titres de Calendoc est la suivante :

  • [Brest] Gérer une base de signets
  • [Paris] Qu’est-ce qu’un tag ?
  • [Lyon] monter un portail documentaire

Je veux mettre le nom de la ville à la fin (et entre parenthèses plutôt qu’entre crochets).

  • Fort de ce que j’ai appris dans le tuto 5, je vais chercher : [.*] .*
  • Et je veux intervertir les deux  .* .

Pour pouvoir « rappeler » une expression régulière trouvée, je dois la mettre entre parenthèses.

  • Le contenu de la première parenthèse sera rappelé par : $1
  • Le contenu de la seconde par : $2
  • etc.

A noter :

  1. Voilà pourquoi quand on cherche les caractères ( et ), il faut le préciser en les précédant de l’antislash \. Si on ne le fait pas, le programme pense que vous mettez en mémoire les mots trouvés pour les restituer lors du remplacement
  2. Pour une raison à voir une prochaine fois, les crochets [ ] signifient aussi quelque chose de spécifique. Donc quand on cherche ces caractères (comme c’est le cas ici il faut aussi les faire précéder de l’antislash\.

En fin de compte, la modification du titre va ressembler à ceci :

regex

Et voici la vidéo correspondant à tout cela

Voir la vidéo

Et voici le pipe obtenu

PS : si je vais trop vite, faut me le dire. Si je vais trop lentement aussi !

Publicités
8 commentaires
  1. SpYd3r permalink
    14/03/2011 18:42

    Bonsoir,

    je cherches à réaliser une expression régulière voulant dire tout texte ne contenant pas .

    J’ai beau avoir lu tous les tutos et visité le site proposé au Tuto 5, je n’y arrive pas. Si quelqu’un de bien intentionné sait faire ce genre de chose…

    Merci

  2. SpYd3r permalink
    14/03/2011 19:19

    [EDIT] : J’ai réussit à obtenir ce que je voulais autrement.

  3. Pedro permalink
    17/05/2011 09:50

    Je tombe par hasard sur ce post et j’ignore si Yahoo! Pipes respecte la norme POSIX mais en principe pour exclure un terme d’une regex il faut le mettre entre crochet précédé d’un ^.
    Ex:

    [^b] pour exclure un b; [^b]* pour exclure une suite de 0 à n ‘b’; [^b]+ pour exclure une suite de 1 à n ‘b’ ; [^a-z] pour exclure une lettre quelconque en minuscule …

  4. 17/05/2011 10:12

    @Pedro : je confirme que l’exclusion de termes comme vous le décrivez fonctionne parfaitement dans Yahoo Pipes.

Trackbacks

  1. Yahoo Pipes : tutoriel 7 (créer un fil RSS) « Encore un biblioblog…
  2. Disséminer la bibliothèque avec Chrome (2/2) « Bibliothèques [reloaded]
  3. Des flux RSS à une veille de surface (5) « Posts « Le blog de Voyelle.fr
  4. Yahoo! Pipes : les opérateurs » Stratégies digitales

Commentaires fermés

%d blogueurs aiment cette page :