Affichage des articles dont le libellé est regex. Afficher tous les articles
Affichage des articles dont le libellé est regex. Afficher tous les articles

03/05/2009

Api ebay regex yahoo pipes et bibliophilie sont dans un bateau

Des objets de collection aux voitures, vous pouvez acheter et vendre toutes sortes d'objets sur eBay 
Petit exercice de style pour extraire d'ebay-France les livres anciens antérieurs à 1800. Pour cela, j'ai utilisé un Yahoo Pipe appelé Ebay Search que j'ai modifié car il s'intéressait aux disques sur ebay US. Dans l'extrait ci-dessous j'ai surligné les champs modifiés :
La version originale comprenait un filtrage sur un mot contenu dans le titre, en saisie facultative.
Il a fallu ensuite rajouter autre un filtre permettant d'éviter les ouvrages postérieurs à 1799 et le tour était joué.
J'ai bien sur laissé ce Yahoo Pipe en libre copie à cette adresse.
Enfin, on peut diffuser le résultat entre autres sur une page personnalisée Google, sous l'appellation badge  (google gadget) comme illustré ci-dessous :

16/04/2009

Expressions regulieres : logiciel de test et exemples

Merci à Ghacks de nous avoir fourni le lien vers The Regex Coach, un freeware développé en Lisp, qui permet tests et mise au point des expressions régulières.
Petit rappel, les expressions régulières ou regexp ou encore rationnelles, regroupent un ensemble de conventions syntaxiques reconnues par plusieurs langages de programmation et permettant de rechercher dans une chaîne de caractères la présence d'une ou plusieurs autres chaînes.
Plutôt que de longs discours, des exemples :
Détection d'une date dans un texte, composée d'une suite de deux chiffres, puis deux chiffres puis quatre chiffres :
.*([0-9]{2})([0-9]{2})([0-9]{4}).

On voit dans l'écran ci-dessus que la première séquence de 4 chiffres est soigneusement évitée car isolée, et que seule la séquence de 4 immédiatement précédée de 2 X 2 chiffres est détectée. La seconde flèche rouge nous indique en outre qu'il s'agit de la troisième occurence de chiffres recherchée dans la présente expression.
Détection d'un Url dans un texte :
http://[\w.%/?=&#:;+-]{5,}net|com
Dans l'écran ci-dessus, on détectera uniquement le premier Url de type com ou net rencontré dans le texte soumis.
La syntaxe gérée par ce freeware pour les regexp est celle de Perl et plus particulièrement des toolkits 
PCRE et CL-PPCRE. Se méfier par contre de la syntaxe Java, compatible à 99% ...
La compatibilité Perl le rend utilisable par les développeurs Python ; Php entre autres. Par acquis de conscience on peut faire une contre-vérification sur le site annuaire-info.com qui permet de tester en ligne une expression régulière Perl et qui est en français, lui ;-).
The Regex Coach permet aussi notamment d'effectuer des remplacements automatiques de chaînes dans des textes importants. Maximisation de la fenêtre et des champs sont bien sur possibles.

12/04/2008

Yahoo Pipes Episode IV : Regex


Ajouter une chaîne à la fin d'une autre :
Grâce à la dernière ligne de la fenêtre regex ci-dessus, on remplace tous les caractères de la chaîne item.title, par ces mêmes caractères, suivis de la variable pubDate.


Lien vers le Pipe complet

07/04/2008

Yahoo Pipes : Regex : exemple théorique , épisode III

Il s'agit simplement de la traduction de l'exemple dans la
documentation anglaise sur l'utilisation de regex.
Le but de la manœuvre est d'extraire d'un texte
une année sur 4 chiffres. Voici la commande :

^In\s+(\d{4}),.+


Traduction du hiéroglyphe :

^In signifie "tout texte commençant par In
\s signifie tout caractère espace
+ signifie une ou plusieurs occurrences de ce
qui précède donc 1 ou plusieurs blancs
( signifie que ce qui est entre parenthèses sera stocké
pour usage ultérieur
\d{4} signifie exactement 4 chiffres (d pour digits)
, signifie ... une virgule
. signifie n'importe quel caractère
+ signifie une ou plusieurs occurrences
(donc de n'importe que caractère)

Conclusion :
Nous cherchons 4 chiffres précédés de 1 ou plusieurs espaces,
eux-mêmes précédés de In, ces derniers caractères formant
le début du texte ; les 4 chiffres sont suivis d'une
virgule, puis de n'importe quoi.

Si nous les trouvons, ils seront stockés dans $1
variable 1), un autre parenthésage dans la même
commande donnera $2 etc.

J'ai fabriqué un pipe simple pour illustrer le propos.
Lien vers la documentation originale en anglais: ici

Yahoo Pipes : Regex épisode II


Je viens de parvenir à un résultat 'probant' dans l'utilisation des regex.
En effet, plusieurs fils me parvenaient avec une mauvaise gestion des
accentués. J'ai donc décidé de rechercher tous les caractères
exotiques et de les remplacer par les caractères correspondants sans
accent. Voir l'image ci-contre

Le problème principal venait du fait que seule la première occurrence
du caractère exotique était modifié dans chaque titre. J'ai donc coché
les 4 cases à droite dans la fenêtre regex et cela a réglé le
problème. Je vais maintenant plonger dans la doc des pipes en anglais
pour trouver laquelle des 4 cases est la bonne et à quoi servent les 3
autres.

Pour accéder au pipe lui-même cliquer ici