Perl expressions régulières
Résolu/Fermé
Bonjour,
Mon pb est le suivant, j'ai une variable qui contient le date au format jj/mm/aaaa mais le pb est que si le chiffre du jour est compris entre 1 et 9 il m'affiche par exemple 5/3/2007 et je souhaiterai obtenir 05/03/2007. J'ai cherché sur le net et essayé mais je ne parviens pas à trouver la bonne syntaxe à faire...
Quelqu'un saurait-il comment faire? Merci pour toutes réponses !
Mon pb est le suivant, j'ai une variable qui contient le date au format jj/mm/aaaa mais le pb est que si le chiffre du jour est compris entre 1 et 9 il m'affiche par exemple 5/3/2007 et je souhaiterai obtenir 05/03/2007. J'ai cherché sur le net et essayé mais je ne parviens pas à trouver la bonne syntaxe à faire...
Quelqu'un saurait-il comment faire? Merci pour toutes réponses !
A voir également:
- Perl expressions régulières
- Denon perl pro test - Accueil - Audio
- Active perl - Télécharger - Édition & Programmation
- Expressions francaises - Forum Études / Formation High-Tech
- Perl Makefile.PL - Forum Perl
- Tableau(perl) ✓ - Forum Perl
8 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
3 déc. 2007 à 11:27
3 déc. 2007 à 11:27
Salut,
affiche ton code pour voir
merci
affiche ton code pour voir
merci
alors mon code c'est en fait :
sub semaineParDefaut # cette fonction me retourne tout les jours de la semaine compris du lundi au vendredi
{
my $jour_dbt = -(localtime)[6] +1;
my $jour_fin= $jour_dbt+4 ;
my $DebutSemaine ;
my $FinSemaine;
my @semaine;
my @tm=localtime(time);
my @tm1=localtime(time);
$semaine[0] = Add_Delta_YMD($tm[5]+1900, $tm[4]+1, $tm[3], 0, 0, $jour_dbt);
$semaine[1] = Add_Delta_YMD($tm[5]+1900, $tm[4]+1, $tm[3], 0, 0, $jour_dbt+1);
$semaine[2] = Add_Delta_YMD($tm[5]+1900, $tm[4]+1, $tm[3], 0, 0, $jour_dbt+2);
$semaine[3] = Add_Delta_YMD($tm[5]+1900, $tm[4]+1, $tm[3], 0, 0, $jour_dbt+3);
$semaine[4] = Add_Delta_YMD($tm1[5]+1900, $tm1[4]+1, $tm1[3], 0, 0, $jour_fin);
my $monmois = (localtime)[4]+1;
$semaine[0] .= "/$monmois";
$semaine[1] .= "/$monmois";
$semaine[2] .= "/$monmois";
$semaine[3] .= "/$monmois";
$semaine[4] .= "/$monmois";
foreach $s (@semaine)
{
# c'est ici que j'aurais besoin de traiter ma variable $s pour transformer 7/8/2007 en 07/08/2007 par exemple...
}
return (@semaine);
}
Merci encore pour toutes réponses
sub semaineParDefaut # cette fonction me retourne tout les jours de la semaine compris du lundi au vendredi
{
my $jour_dbt = -(localtime)[6] +1;
my $jour_fin= $jour_dbt+4 ;
my $DebutSemaine ;
my $FinSemaine;
my @semaine;
my @tm=localtime(time);
my @tm1=localtime(time);
$semaine[0] = Add_Delta_YMD($tm[5]+1900, $tm[4]+1, $tm[3], 0, 0, $jour_dbt);
$semaine[1] = Add_Delta_YMD($tm[5]+1900, $tm[4]+1, $tm[3], 0, 0, $jour_dbt+1);
$semaine[2] = Add_Delta_YMD($tm[5]+1900, $tm[4]+1, $tm[3], 0, 0, $jour_dbt+2);
$semaine[3] = Add_Delta_YMD($tm[5]+1900, $tm[4]+1, $tm[3], 0, 0, $jour_dbt+3);
$semaine[4] = Add_Delta_YMD($tm1[5]+1900, $tm1[4]+1, $tm1[3], 0, 0, $jour_fin);
my $monmois = (localtime)[4]+1;
$semaine[0] .= "/$monmois";
$semaine[1] .= "/$monmois";
$semaine[2] .= "/$monmois";
$semaine[3] .= "/$monmois";
$semaine[4] .= "/$monmois";
foreach $s (@semaine)
{
# c'est ici que j'aurais besoin de traiter ma variable $s pour transformer 7/8/2007 en 07/08/2007 par exemple...
}
return (@semaine);
}
Merci encore pour toutes réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
3 déc. 2007 à 11:42
3 déc. 2007 à 11:42
Salut,
essaie de mettre cette ligne après
my @tm=localtime(time);
my @tm1=localtime(time);
essaie de mettre cette ligne après
my @tm=localtime(time);
my @tm1=localtime(time);
map { sprintf("%2d",$_) } @tm[3,4];je n'ai pas testé, je suis au boulot et je n'ai pas accès à une console avec Perl :-(
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai trouvé l'expression régulière qui me permet de faire ça :
c'est :
Voilà, merci quand lami20j !!
c'est :
s/^(\d)$/0$1/;
Voilà, merci quand lami20j !!
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
3 déc. 2007 à 14:05
3 déc. 2007 à 14:05
j'ai pensé aux regex, mais come je ne peux pas tester ... :-)
c'est bien que tu as trouvé ;-)
c'est bien que tu as trouvé ;-)