J'ai un fichier que je voudrais traiter avec une expression reguliere (pour supprimer un certain nombre d'informations). Comme un exemple vaut mieux qu'un long discours , voici donc un extrait du fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
kqfkbqsdfbsj
 
avant premier chat
chat
zzz>
 
chien
apres premier chien
 
avant second chat
chat
yyyy
vvvvv
chien
apres second chien
 
XXXXXXX
En fait je voudrais supprimer toutes les chaines commençant par chat et finissant par chien. Avec l'expression suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
$resultat=~ s!chat(.|\s)*chien!!ig;
(où $resultat est une variable chaine de caractere qui représente le contenu du fichier)
J'obtient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
kqfkbqsdfbsj
 
avant premier chat
apres second chien
 
XXXXXXX
ALors que je voudrais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
kqfkbqsdfbsj
 
avant premier chat
apres premier chien
 
avant second chat
apres second chien
 
XXXXXXX