[PERL]- Extraire lignes à partir de la n ième

Fermé
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 - 22 mai 2007 à 16:24
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 7 févr. 2008 à 11:10
Bonjour,

j'ai un fichier dont toutes les lignes sont horodatées (aammjj-hhmmss) :

070522-111819>
070522-111819> Start time: Tue May 22 11:17:26 2007
070522-111819> End time: Tue May 22 11:18:19 2007
070522-111819>
070522-111819>
070522-111819> --- Never Started Save Sets ---

Et je cherche une méthode en perl pour extraire toutes les lignes qui sont postérieures à une date et une heure donnée pour les traiter, dans le but de gagner en vitesse de traitement (mon fichier est un log de plusieurs centaines de milliers de lignes...)

Quelqu'un aurait quelque chose à me proposer ?

Merci d'avance.
A voir également:

19 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 567
22 mai 2007 à 16:37
Salut,

je vais voir ça ce soir.
en revanche j'aimerais bien que tu affiche quelques lignes pour avoir la structure correcte

merci
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
22 mai 2007 à 16:50
L'exemple ne suffit pas ?

Je rajoute moi-même à l'écriture du fichier la date et l'heure et un >

Il est possible que plusieurs lignes aient la même heure (et la même date d'ailleurs) et les lignes peuvent être TRES longues (>1000 car)

070519-011115> NetWorker savegroup: (notice) G-PLANETE completed, Total 4 client(s), 4 Succeeded. Please see group completion details for more information.
070519-011115>
070519-011115> Succeeded: mars, jupiter, io, neptune
070519-011115>
070519-011115> Start time: Fri May 18 21:30:00 2007
070519-011115> End time: Sat May 19 01:11:14 2007
070519-011115>
070519-011115>
070519-011115> --- Successful Save Sets ---
070519-011115>
070519-011115> mars: /app/v2i03 level=incr, 0 KB 00:00:08 0 files
070519-011115> mars: /app/wui03 level=incr, 0 KB 00:00:03 0 files
070519-011115> mars: /app/fai03 level=incr, 0 KB 00:00:05 0 files
070519-011115> mars: /app/v1i03 level=incr, 0 KB 00:00:05 0 files
070519-011115> mars: /app/w1i03 level=incr, 11 KB 00:00:05 5 files
070519-011115> mars: /svg/hai03 level=incr, 0 KB 00:00:03 0 files
070519-011115> mars: /fic/hai03 level=incr, 0 KB 00:00:03 0 files
070519-011115> mars: /log/hai03 level=incr, 0 KB 00:00:03 0 files
070519-011115> mars: /app/hai03 level=incr, 0 KB 00:00:04 0 files
070519-011115> mars: /svg/eni03 level=incr, 0 KB 00:00:04 0 files
070519-011115> mars: /fic/eni03 level=incr, 0 KB 00:00:06 0 files
070519-011115> mars: /log/eni03 level=incr, 0 KB 00:00:02 0 files
070519-011115> mars: /app/eni03 level=incr, 0 KB 00:00:03 0 files
070519-011115> mars: /log/x2i03 level=incr, 0 KB 00:00:04 0 files
070519-011115> mars: /app/x2i03 level=incr, 0 KB 00:00:02 0 files
070519-011116> mars: /log/tbi03 level=incr, 0 KB 00:00:03 0 files
070519-011116> mars: /svg/svi03 level=incr, 0 KB 00:00:04 0 files
070519-011116> mars: /fic/svi03 level=incr, 0 KB 00:00:06 0 files
070519-011116> mars: /log/svi03 level=incr, 0 KB 00:00:02 0 files
070519-011116> mars: /app/svi03 level=incr, 0 KB 00:00:04 0 files
070519-011116> mars: /svg/mitci03 level=incr, 0 KB 00:00:03 0 files
070519-011116> mars: /fic/mitci03 level=incr, 0 KB 00:00:03 0 files
070519-011116> mars: /log/mitci03 level=incr, 0 KB 00:00:03 0 files
070519-011116> mars: /app/mitci03 level=incr, 0 KB 00:00:03 0 files
070519-011116> mars: /svg/cii03 level=incr, 0 KB 00:00:06 0 files
070519-011116> mars: /log/cii03 level=incr, 0 KB 00:00:03 0 files
070519-011116> mars: /app/cii03 level=incr, 0 KB 00:00:02 0 files
0
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 567
22 mai 2007 à 16:59
L'exemple ne suffit pas ?
Oui, j'ai lu en diagonale :-))

Avant de partir du boulot voilà une piste (je n'ai pas testé)

En supposant que le fichier est trié par date tu peux lire à partir d'une certaine date de cette façon

open LIRE,"tonfichier" or die "E/S : $!\n";
open ECRIRE, ">resultat" or die "E/S : $!\n";

$date='ta_date';
$heure='heure';
while(<LIRE>){
  print ECRIRE if /${date}-$heure/ ..  eof;
}
--
lami20j
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
23 mai 2007 à 10:10
Merci ça marche...

Je n'ai pas compris pourquoi d'ailleurs !

C'est les .. ?
0
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 567
23 mai 2007 à 12:08
Salut,

je suis au boulot et je n'ai pas trop de temps.
semble-t-il que les opérateurs .. et ... sont un peu plus difficile à comprendre
je vais essayer ce soir de t'expliquer un peut le comportement de ces 2 opérateurs, bien sûr si ça t'interesse
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
23 mai 2007 à 12:22
Avec grand plaisir ! ;-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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 567
23 mai 2007 à 20:25
Re,

Les opérateurs .. et ... peuvent être utilisés avec des regex ou avec des numéros de lignes.

L'opérateur .. renvoie VRAI si les 2 tests sont VRAI sur la même lignes, en revanche ... ne le fait pas.


Dans l'expression DEBUT .. FIN la valeur FAUX est renvoyé sans arrêt si DEBUT n'est pas vérifié.
Une fois DEBUT verifié, il n'est plus vérifié et la valeur VRAI est retournée jusqu'à quand FIN est vérifié.
Quand FIN est vérifié, le cycle recommence.

Pour voir la différence entre .. et ... je vais te donner un exemple

Pour ..
#!/usr/bin/perl
while(<DATA>){
    print if /DEBUT/ .. /FIN/;
}
__END__
DEBUT de la chaine, jusqu'à la FIN
comprendre les opérateurs .. et ...
FIN
Le résultat est
DEBUT de la chaine, jusqu'à la FIN

Pour ...
#!/usr/bin/perl
while(<DATA>){
    print if /DEBUT/ ... /FIN/;
}
__END__
DEBUT de la chaine, jusqu'à la FIN
comprendre les opérateurs .. et ...
FIN
Le résultat est
DEBUT de la chaine, jusqu'à la FIN
comprendre les opérateurs .. et ...
FIN



L'opérateur .. teste les deux conditions sur la même ligne, donc si le test est vérifié alors il retourne VRAI jusqu'à quand il FIN est vérifié, et il s'arrête. Le cycle ne recommence plus puisque DEBUT n'est plus vérifié.
L'opérateur ... va continue jusqu'à la prochaine ligne qui contient FIN. L'opérateur ... ne teste pas les conditions dans le même temps.


Un autre comportement spécial c'est dans le cas d'utilisation de numéro de ligne au lieu des regex.

On ne peux pas écrire
$debut = 10;
$fin = 100;
print if $debut .. $fin;


On peut écrire
print if 1..10;
ou
$debut = 10;
$fin = 100;
print if $. == $debut .. $. == $fin;

0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
24 mai 2007 à 08:33
Je vais voir tout ça...

http://ww3.ac-creteil.fr/sciences-ecole/spip/article.php3?id_article=10

;-)
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
26 mai 2007 à 21:31
J'ai pas compris où est le test, je ne vois nulle part l'endroit où on dit commence par date-heure...

Parce que $, c'est pour dire variable, non ?
0
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 567
26 mai 2007 à 21:51
Salut,

Parce que $, c'est pour dire variable, non ?
Plus précis, scalaire en Perl.

Oui, puisque l'opérateur m// permet l'interpolation des variables.

Je vais essayer de donner une explication un peu moins obscure.

Prenons le fragment et je veux obtenir seulement le paragraphe entre DEBUT et FIN
Je suis obligé d'utilser ... puisque .. fait le teste sur la même ligne
(ne demande pas pourquoi, puisque sinon je te demanderai pourquoi avec + j'obtiens 1 + 1 = 0 et avec - j'obtiens 1 - 1 = 0)
C'est tout simplement un opérateur qui a été conçu pour ça :-))

......
zzzzzzzzzzz
DEBUT aaaaaaaaaaa FIN
gdsdfsdf
dsfsdf
FIN
zzzzzzzzzzz
............

En fait l'opérateur ... travaille de la façon suivante

Il cherche DEBUT, une fois qu'il le trouve il ne le cherche plus et renvoie VRAI en testant toujours si FIN existe ou pas

Une fois qu'il a trouvé FIN il s'arrête et le cycle recommence (c'est pratique quand on a plusieurs paragraphes situés entre DEBUT et FIN)

Dans ton cas j'ai utiliser la fonction eof pour obtenir tout entre le 1er DEBUT rencontré (en fin tes dates) jusqu'à la fin de fichier.

C'est plus clair maintenant?
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
29 mai 2007 à 12:36
Voui, mais ça confine à la magie :-)
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
31 mai 2007 à 08:50
J'ai quand même un souci : si la forme recherchée n'existe pas, alors on ne recopie rien...

Vu que c'est une date et une heure, je voudrais recopier si c'est 'supérieur à ', or il est possible que je n'ai pas de ligne dans le fichier pour une heure donnée...

Tu as une idée ?
0
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 567
31 mai 2007 à 11:10
Salut,

bien sûr que je pourrais avoir une idée, mais dans des cas particuliers comme celui là il faut avoir la structure de fichier et aussi ce que je cherche avec l'exactitude

à savoir aussi (j'ai remarqué que pour une date et heure il ya plusieurs lignes) qu'il faut savoir exactement ce qu'on cherche

si jamais une ligne sans date et heure se trouve dans le DEBUT et FIN alors sache qu'elle sera pris en compte même si on ne veut pas

Pour corriger ça on peut utiliser next pour que le script saute les lignes qui ne commencent pas avec date et heure

Tu vois qu'il y a plusieurs situations qu'on doit prendre en compte.

En bref je pourrais repondre à tes questions si tu me dit décrit avec précison les cas concrets.


En ce qui concerne l'histoire de supériour à on peut le faire, en utilisant des regex et pas des comparaisons

par exemple pour chercher tout les numéros qui sont plus grandes que 24 on peut faire

1. avec comparaison
on pout comparer directement avec >= 24 par exemple

2. avec regex

on ne pense pas à une comparaison mais à une corespondace des caractères

je m'explique

si je cherche tout les données plus grandes que 24 ça veut dire que le 1er caractère soit il va être 2 et je l'associe avec la classe [4-9] pour le 2ème caractère
soit le 1er caractère je vais le charcher dans la classe [3-9] et pour le 2ème séra la classe [0-9]
il nous reste à chercher avec le motif /2[4-9]|[3-9][0-9]/ qui vas envoyer toujours vrai pour
24
25
.
.
29
34
.
.
99

a toi :-))
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
31 mai 2007 à 17:05
TOUTES les lignes commencent par aammjj-hhmmss.

Mais vu que c'est un fichier log, il y a des cas où l'on écrit pas pendant de longues périodes.

Je veux pouvoir sélectionner toutes les lignes postérieures (ou égales) à une heure donnée, même s'il n'y a pas d'entrées pour cette heure :

070531-061212
070531-061312
070531-061412
070531-061512
070531-081212
070531-091212

Ici, je voudrais avoir la possibilité de sélectionner tout ce qui vient après 7h00, même si aucune ligne n'existe pour 7h...

S'il le faut je peux changer l'horodatage (c'est moi qui le gère) pour supprimer le '-' et faire de la date et heure un nombre entier strictement croissant...

Ca t'aidrait ?
0
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 567
31 mai 2007 à 17:32
Pas besoin de supprimer le -, je peux le sauter avec la regex
Je vais voir ce soir.
0
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 567
2 juin 2007 à 09:10
Salut,

voici une possibilité
#!/usr/bin/perl
use strict;use warnings;
print "Entrez la date et heure de debut, format yymmddhhmmss [par défaut 070519011112] : ";
chomp(my $lim = <STDIN>);
$lim ||= '070519011112';

while (<DATA>){
    /^(\d+)-(\d+)\D/;
    print if ($1 . $2) >= $lim;
}
__END__
070510-011110> NetWorker savegroup: (notice) G-PLANETE completed
070510-011110>
070510-011110> Succeeded: mars, jupiter, io, neptune
070510-011110>
070510-011110> Start time: Fri May 18 21:30:00 2007
070510-011110> End time: Sat May 19 01:11:14 2007
070510-011110>
070510-011110>
070510-011110> --- Successful Save Sets ---
070519-011115> --- LIMITE
070519-011115> mars: /app/v2i03 level=incr, 0 KB 00:00:08 0 files
070519-011115> mars: /app/wui03 level=incr, 0 KB 00:00:03 0 files
070519-011115> mars: /app/x2i03 level=incr, 0 KB 00:00:02 0 files
070519-011116> mars: /log/tbi03 level=incr, 0 KB 00:00:03 0 files
070519-011116> mars: /svg/svi03 level=incr, 0 KB 00:00:04 0 files
070519-011116> mars: /app/svi03 level=incr, 0 KB 00:00:04 0 files
070519-011116> mars: /app/cii03 level=incr, 0 KB 00:00:02 0 files
070531-061312
070531-061412
070531-061512
070531-081212
070531-091212
070531-091116> mars: /fic/mitci03 level=incr, 0 KB 00:00:03 0 files
070531-091116> mars: /log/mitci03 level=incr, 0 KB 00:00:03 0 files
070532-061116> mars: /app/mitci03 level=incr, 0 KB 00:00:03 0 files
Le résultat

La comparaison je la fait par rapport à la date et heure 070519011112 qui n'existe pas
lami20j@debian:~$ perl ccm.pl
Entrez la date et heure de debut, format yymmddhhmmss [par défaut 070519011112] :
070519-011115> --- LIMITE
070519-011115> mars: /app/v2i03 level=incr, 0 KB 00:00:08 0 files
070519-011115> mars: /app/wui03 level=incr, 0 KB 00:00:03 0 files
070519-011115> mars: /app/x2i03 level=incr, 0 KB 00:00:02 0 files
070519-011116> mars: /log/tbi03 level=incr, 0 KB 00:00:03 0 files
070519-011116> mars: /svg/svi03 level=incr, 0 KB 00:00:04 0 files
070519-011116> mars: /app/svi03 level=incr, 0 KB 00:00:04 0 files
070519-011116> mars: /app/cii03 level=incr, 0 KB 00:00:02 0 files
070531-061312
070531-061412
070531-061512
070531-081212
070531-091212
070531-091116> mars: /fic/mitci03 level=incr, 0 KB 00:00:03 0 files
070531-091116> mars: /log/mitci03 level=incr, 0 KB 00:00:03 0 files
070532-061116> mars: /app/mitci03 level=incr, 0 KB 00:00:03 0 files
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
4 juin 2007 à 09:56
Ca va mieux comme ça...

Et si je ne veux tester que l'heure, ça ne marche pas avec ça :

/^(\d+)-(\d{2})/;

J'ai loupé quoi ?
0
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 567
4 juin 2007 à 10:30
Salut,

si tu ne veux tester que l'heure il faut sauter la date et le tiret et ne pas les capturer non plus
while (<DATA>){
    /^.{7}(\d+)\D/;
    print if $1  >= $lim;
}
Je n'ai pas testé, je suis au boulot

0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
4 juin 2007 à 10:40
Je n'ai pas testé, je suis au boulot
Quelle idée aussi !?
Rentre immédiatement chez toi pour tester tes dires !!! NoméO des fois !

;-DDD

Bonne journée.
0
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 567 > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
4 juin 2007 à 19:07
Rentre immédiatement chez toi

j'en ai marre de RATP

dès que j'ai vu ton message je suis parti, mais avec le trafic je viens d'arrivé.
désolé pour ce retard :-DD
la prochain fois je vais prendre le TGV :-))
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895 > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
4 juin 2007 à 19:12
;-))
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
4 juin 2007 à 11:13
Pardon, je me suis mal exprimé, je voulais dire : tester la date et uniquement l'heure (pas les minutes secondes...)
0
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 567
4 juin 2007 à 11:50
Essaie
/^(\d{6})-(\d\d)/;
print if ($1 . $2) >= $lim;
sinon tu peux aussi faire avec unpack
($t) = unpack("A6 x1 A2",$_);
print if $t >= $lim;
toujours pas de test :-)
0
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 567
4 juin 2007 à 19:03
Et si je ne veux tester que l'heure, ça ne marche pas avec ça :

/^(\d+)-(\d{2})/;

J'ai loupé quoi ?



ça marche ta regex

lami20j@debian:~/trash$ cat ccm.pl
#!/usr/bin/perl
use strict;use warnings;
print "Entrez la date et heure de debut, format yymmddhh [par défaut 07051901] : ";
chomp(my $lim = <STDIN>);
$lim ||= '070519011112';

while (<DATA>){
    /^(\d+)-(\d{2})/;
    print if ($1 . $2) >= $lim;
}
__END__
070510-011110> NetWorker savegroup: (notice) G-PLANETE completed
070510-011110>
070510-011110> Succeeded: mars, jupiter, io, neptune
070510-011110>
070510-011110> Start time: Fri May 18 21:30:00 2007
070510-011110> End time: Sat May 19 01:11:14 2007
070510-011110>
070510-011110>
070510-011110> --- Successful Save Sets ---
070519-011115> --- LIMITE
070519-011115> mars: /app/v2i03 level=incr, 0 KB 00:00:08 0 files
070519-011115> mars: /app/wui03 level=incr, 0 KB 00:00:03 0 files
070519-011115> mars: /app/x2i03 level=incr, 0 KB 00:00:02 0 files
070519-011116> mars: /log/tbi03 level=incr, 0 KB 00:00:03 0 files
070519-011116> mars: /svg/svi03 level=incr, 0 KB 00:00:04 0 files
070519-011116> mars: /app/svi03 level=incr, 0 KB 00:00:04 0 files
070519-011116> mars: /app/cii03 level=incr, 0 KB 00:00:02 0 files
070531-061312
070531-061412
070531-061512
070531-081212
070531-091212
070531-091116> mars: /fic/mitci03 level=incr, 0 KB 00:00:03 0 files
070531-091116> mars: /log/mitci03 level=incr, 0 KB 00:00:03 0 files
070532-061116> mars: /app/mitci03 level=incr, 0 KB 00:00:03 0 files
lami20j@debian:~/trash$ perl ccm.pl
Entrez la date et heure de debut, format yymmddhh [par défaut 07051901] : 07051901
070519-011115> --- LIMITE
070519-011115> mars: /app/v2i03 level=incr, 0 KB 00:00:08 0 files
070519-011115> mars: /app/wui03 level=incr, 0 KB 00:00:03 0 files
070519-011115> mars: /app/x2i03 level=incr, 0 KB 00:00:02 0 files
070519-011116> mars: /log/tbi03 level=incr, 0 KB 00:00:03 0 files
070519-011116> mars: /svg/svi03 level=incr, 0 KB 00:00:04 0 files
070519-011116> mars: /app/svi03 level=incr, 0 KB 00:00:04 0 files
070519-011116> mars: /app/cii03 level=incr, 0 KB 00:00:02 0 files
070531-061312
070531-061412
070531-061512
070531-081212
070531-091212
070531-091116> mars: /fic/mitci03 level=incr, 0 KB 00:00:03 0 files
070531-091116> mars: /log/mitci03 level=incr, 0 KB 00:00:03 0 files
070532-061116> mars: /app/mitci03 level=incr, 0 KB 00:00:03 0 files
lami20j@debian:~/trash$
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
4 juin 2007 à 22:03
Ben la première fois, ça n'a pas marché, alors...
0
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 567
4 juin 2007 à 22:47
alors, c'est bon pour toi?! :-))
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
4 juin 2007 à 23:00
Oui, ça a remarché, mais entre temps, j'avais mis \d\d...

Pendant que j'y suis, tu aurais des références de littérature ou de sites sur les fameuses regexp ? (à part google...)
0
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 567
4 juin 2007 à 23:08
tu aurais des références de littérature

Voilà ce que j'utilise Maîtrise des expressions régulières

Avec ce livre tu n'as pas besoin d'autre chose :-))
Si tu tiens vraiment à maitriser les regex je te le recommande chaleureusement.
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
5 juin 2007 à 09:13
Merci, je vais voir ce qu'il en retourne...
0
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
7 févr. 2008 à 11:03
Yes, but in French it'd be better...
0
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 567 > blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024
7 févr. 2008 à 11:10
Salut,

on est sur un site francophone, ne m'oblige pas d'alerter un modo ;-DD
et je pense que tu connais celui là ;-) http://perl.mines-albi.fr/DocFr/perlretut.html
0