Expression reguliere

Bonjour,

comment décrire ,avec une expression régulière, les mots qui sont composés exactement de 3 caractères differents ..

exemple:
areeer
abaca
abas
abat
abbe

Merci :)
Configuration: Linux
Firefox 3.5.7

6 réponses

  1. C'est un exercice qu'on t'a donné ? Parce que ce je ne suis pas sûr que ce soit possible. Et si ça l'est, ce n'est pas trivial.
    1. Salut,

      Si j'ai bien compris tu veux trouver seulement les mots (quelque soit la longueur >=3) qui sont constitués seulement de 3 caractères différents

      $ cat plop.txt 
      plusieurscaracteres
      abccbaabcbaccab
      aa
      at
      exemple:
      areeer
      abaca
      abas
      abat
      abbe 
      toto
      titi
      blabla
      blablat
      $ perl -nle'%h=()or $x=grep!$h{$_}++,split//;print if $x==3' plop.txt
      abccbaabcbaccab
      areeer
      abaca
      abas
      abat
      blabla
      1. C'est pas une expression régulière, ça :-)
        1. Salut,

          Effectivement ;-)
          Trop paresseux pour la chercher, surtout dimanche ;-))
        2. Modérateur
          @kilianTous mes bons voeux Lami, au plaisir.
      2. <Mode HorsSujet>
        Salut kilian et irongege ;-)

        Mes meilleurs voeux et une bonne année et surtout de la santé.

        Le plaisir est pour moi ;-)
        <\Mode HorsSujet>

        P.S. Vous pouvez supprimer ce message après l'avoir lu pour ne pas encombrer le message de chintok
        1. Salut,

          Je viens de regarder et je vois que 'abbe' n'est pas affiché et pourtant il n'y a que 3 caractères différents qui constituent ce mot.

          Enfin c'est qu'on vois puisqu'en réalité il s'agit de mots 'abbe ' (j'utilise les apostrophes pour voir l'espace), donc 4 caractères différents (c'est ça que j'ai eu quand j'ai fait copier/coller depuis ccm)

          On peut supprimer les espaces au début et à la fin de ligne pour s'assurer que les espaces ne sont pas pris en compte.

          $ cat plop.txt
          plusieurscaracteres
          abccbaabcbaccab
          aa
          at
          exemple:
          areeer
          abaca
          abas
          abat
          abbe
          toto
          titi
          blabla
          blablat
          $ perl -nle's/\s*$//;s/^\s*//;%h=()or $x=grep!$h{$_}++,split//;print if $x==3' plop.txt
          abccbaabcbaccab
          areeer
          abaca
          abas
          abat
          abbe
          blabla