Re: Expression régulière

Page principale

Répondre à ce message
Auteur: Frédéric
Date:  
À: guilde
Sujet: Re: Expression régulière
On samedi 19 mai 2012, Pierre Louis Aublin wrote:

> Quel est l'environnement de travail ? En quel langage veux-tu faire cela


Désolé, je n'ai pas été très clair : y'a pas de langage. Enfin, si,
derrière c'est du PHP, mais je ne fais qu'utiliser des widgets qui
utilisent des expressions régulières pour récupérer et afficher des chaînes
issues d'un bus (KNX pour ne pas le citer).

Dans le paramétrage du widget, on a d'un côté le pattern pour découper la
chaîne entrante, et de l'autre l'affichage (texte), où on peut mettre ce
qu'on veut, et utiliser $1 $2... pour récupérer les groupes de l'expression
régulière.

Par défaut, le pattern vaut (.*), pour tout récupérer dans un groupe, et
l'affichage vaut $1, pour afficher ce groupe, donc toute la chaîne
entrante.

Par exemple, la date arrive sous la forme : YYY-MM-DD, que je reformatte en
DD/MM/YYY, via :

- pattern : (\d{4})-(\d{1,2})-(\d{1,2})
- affichage : $3/$2/$1

Là encore, comme pour l'heure, je voudrais pouvoir ajouter un zéro à gauche
si une valeur arrive sur un seul chiffre...

Je ne sais pas si c'est possible sans fonction avoluer. D'un autre côté,
les expressions régulières sont tellement complètes (et complexes), que je
me dis qu'il y a peut-être une astcuce ;o)

-- 
    Frédéric