Arnaud Calvo <[EMAIL PROTECTED]> a �crit :
> On 03-Jan-2002 mike wrote:
> > Je cherche � savoir comment faire une expression r�guli�re qui renvoie
> > toutes les chaines contenant ABC non suivi d'un D quelle que soit la
> > position du D   .pas forc�ment imm�diatement apr�s le C
> > ex :
> > DreABCsol    ==> OK
> > ABCuuooDvv       ==> PAS OK
> > ABCuuDuuABC ==> OK
> > si quelqu'un a une id�e moi je s�che j'ai essay� grep  'ABC[^D]*' mais
�a
> > marche pas !!!!
>
> Je pensais � 'ABC.*D', mais �a va faire l'inverse du r�sultat escompt�,
alors
> si tu peux utiliser un '!' pour inverser la regex...
>
> A+'

Si c'est grep que tu utilises, il est normal que ABC[^D]* ne fonctionne pas,
puisque �a ne recherche que ABC, suivi de 0 ou plus caract�res qui ne sont
pas des D : donc m�me ABCD est reconnu par cette expression.

Pour que �a fonctionne (avec grep), il faut pr�ciser que toute la ligne doit
correspondre � la regex : ABC[^D]*$

C'est-�-dire ABC, suivi d'un nombre quelconque (m�me z�ro) de caract�res non
D, jusqu'� la fin de la ligne.

--
Benoit Lacherez
Acad�mie de Bordeaux -- CATICE
Projet de traduction de la documentation de Python :
http://frpython.sf.net/


Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Répondre à