Essais en cours n°3 le 10/10/2013


  1. Construction d'une expression régulière représentant les constantes entières de Perl.
    Exemples :
    my $nbd = 8924; #décimal
    my $nbo = 0567; #octal
    my $nbh = 0x27B9E; #hexa


    Sur la notation des ensembles de caractères entre crochets, voyez ici.

    ER = D | C | H

    D = [1-9][0-9]*
    C = 0[0-7]*
    H = 0x[0-9a-fA-F]*
    H = 0x([0-9A-F]*|[0-9a-f]*)

    Exercice : ajouter la possibilité de constantes écrites en binaire, comme
    my $nbb = 0b00100100000000100111101110011110;

  2. Réalisation en Perl de l'expression des "ponctuations":

    my $a = '[0-9a-zA-Z]';
    my $s = '[,.]';
    my $d = '[;:!?]';
    my b = '[ ]';
    my $c = "$b$b+";
    my $er =  "$a$b+$s|$a$d|$a$c$d|($s|$d)($a|$c$a)" ;

    qui se développe (sans erreur !) comme :

    [0-9a-zA-Z][ ]+[,.]|[0-9a-zA-Z][;:!?]|[0-9a-zA-Z][ ][ ]+[;:!?]|[,.;:!?]([0-9a-zA-Z]|[ ][ ]+[0-9a-zA-Z])