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 :
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
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
(où $resultat est une variable chaine de caractere qui représente le contenu du fichier)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $resultat=~ s!chat(.|\s)*chien!!ig;
J'obtient :
ALors que je voudrais
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
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
Partager