Re: expression régulière

Page principale

Répondre à ce message
Auteur: Edgar Bonet
Date:  
À: Liste Guilde
Sujet: Re: expression régulière
Le lundi 12 juillet, anne aublanc a écrit :
> J'ai modifié la ligne pour faire des essais :
> if ( $_[0] =~ /^[0-9a-zA-Z][A-Za-z0-9&é"'(-è_çà)=+°ù!:;,?.<>]*$/ )

                                            ^ intervalle


> ce que je ne comprends pas, il accepte le / que je n'ai pas mis dans la
> liste et il n'accepte pas le ê que je n'ai pas mis non plus...


Le `/' est entre le `-' et le `è'. Si tu veux mettre le caractère `-' il
faut qu'il soit au début ou à la fin du groupe [].

Par ailleurs, tu peux jetter un coup d'oeil à man perlre pour certaines
classes de caractères prédéfinis comme

    [:alnum:]  = les lettres et les chiffres
    \w         = les mêmes plus `_'


Ça te permettra de simplifier ta regexp. Tu peux faire aussi `use
locale;' au début de ton programme si tu veux accepter les caractères
accentués.

-- 
Edgar Bonet           Maison : 04 76 21 29 16    Bureau : 04 76 88 10 96
3 rue Jean Prévost    Mobile : 06 77 19 79 39    Fax    : 04 76 88 11 91
38000 Grenoble        guilde@???     www.edgar-bonet.org