[Perl] récuperation de chaine

sasame Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
 sasame -
Bonjour,

Je cherche une expression reguliere qui puisse ranger dans une variable, une chaine de caractere qui se trouve entre 2 chaines.

ex :

Probleme Description:
Tout est planter(test)

Resolution.

j'ai esseyer ça:


push @description, $1 if /Probleme Description\s+([Resolution]+)^/;




mais ça marche pas ça ne va pas chercher a la ligne suivante.
Si quelqu'un connaissai l'astuce, ça me serai grandement utile.

Merci.
A voir également:

3 réponses

sefo
 
Je voudrai bien t'aider mais je ne comprends absoluement rien a ce que tu dis...

Dans un fichier tu as:

Probleme description:
chaine a recuperer
Resolution:
chaine a recuperer

et tu veux recuperer "chaine a recuperer"
c'est bien ca?

[code]

#!/usr/bin/perl
use strict;
my $next=0;
my $fichier="fichier.txt";
my $chaine1="probleme description";
my $chaine2="resolution";
open(FILE,"$fichier") || die "Error: $!\n";
flock(FILE, 2) || die("Can't flock file - $!\n");
chomp(@lines = <FILE>);

foreach my $line (@lines) {
if ($next==1) {
#ici tu fais ce que tu veux avec ta chaine
$next=0;
}
if ($line eq $chaine1) {
$next=1;
}
if ($line eq $chaine2) {
$next=1;
}
}
close (FILE);
exit 0;

[/code]
0
sefo
 
aah domage pour la balise
 ... :*(
0
sasame
 
Merci mais je cherche plus une solution qui tienne avec une expresion reguliere.

Ce que je veux fait c'est recupérer la chaine "tout est planté" qui se trouve entre "Problem Description:" et "Resolution".

J'ai esseyer une tonne d'expression reguliere mais rien n'y fait.

Une solution serai de supprimer les retours à la ligne du fichier, ça serai plus facile après pour extraire les chiane que je souhaite
0