regexp

Philippe Jacquot philippe.j at sparx.com
Tue Oct 25 15:26:37 CEST 2005


Je connais pas ce fameux principe, mais bon.
"*" signifie "0 ou plus", "?" signifie "0 ou 1", et "+" signifie "1 ou 
plus".
"[^abc]*" veut dire: "tout sauf a, b ou c, 0 fois ou plus". Autrement 
dit ça matche n'importe quel caractère.
Si donc tu veux éviter ce qui commence par a, b ou c, il faut écrire:
"^[^abc].*"

Enfin, à priori, et si c'est bien ce que tu demandes.

PJ

Jeremy Monnet a écrit :

>Bonjour,
>
>J'ai un cours d'administration d'unix en ce moment, et j'ai une
>question concernant les expressions regulieres (que je pourrais poser
>au formateur, mais je ne suis pas sur d'obtenir une reponse
>satisfaisante, en plus de ne pas avoir d'avis contradictoire).
>
>En bref, dans le poly de cours, il est marque : "
>Soit la regexp ^[^abc]*
>
>Soit un fichier contenant :
>ascenseur
>chameau
>berceau
>elephant
>
>la regexp selectionne toutes les lignes, a cause du principe de rendre
>muette une contrainte pour satisfaire la regexp globalement "
>
>J'ai cherche un peu pour trouver que finalement une regexp faisant ce
>qu'on lui demande (enfin ce que je crois etre le but de cette regexp :
>ne trouver que elephant) serait ^[^abc][a-z]*
>Mon impression est donc plutot que l'utilisation de l'etoile est
>mauvaise (mal placee)
>
>La question est donc : quel est ce principe de "rendre muette une
>contrainte pour satisfaire une regexp" ? Est-ce justifie dans ce
>contexte (ou ce que j'en ai compris) ?
>
>Merci pour votre aide !
>
>Jeremy
>_______________________________________________
>Shell mailing list
>Shell at lists.asyd.net
>http://lists.asyd.net/mailman/listinfo.cgi/shell
>  
>


-- 
Sparx Inc.
34 rue du Sentier
75002 Paris
Tel. +33 (0) 1 44 34 29 21
Std +33 (0) 1 44 34 29 29
Fax +33 (0) 1 55 73 17 07
http://www.sparx.com




More information about the Shell mailing list