IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Expression régulière


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 210
    Par défaut Expression régulière
    Bonjour,
    Je souhaiterais lister les 3 premiers programmes (numérotés) R du répertoire courant. Ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list.files(pattern="^1|^2|^3,R$")
    fonctionne correctement.
    Mais je souhaiterais l'écrire de façon un peu plus synthétique. Et le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list.files(pattern="^[1-3],R$")
    ne fonctionne malheureusement pas

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 210
    Par défaut
    En fait, même le 1er code ne donne pas les résultats attendus (il manque un fichier dans la liste)
    Le problème se situe dans la conjonction de 2 critères : la chaîne doit commencer par un nombre inférieur à 2 ET se terminer par le caractère "R"
    Je ne sais pas trop si c'est possible de faire ça au moyen d'une seule expression régulière.
    Mais j'ai trouvé une solution au moyen de 2 expressions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    intersect(list.files(pattern="^[1-3]"),
                 list.files(pattern="R$")
    )

  3. #3
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Par défaut
    En fait il faudrait ajouter .+ dans l'expression régulière pour indiquer des caractères quelconques (.) en nombre inconnu (+) entre le chiffre du début et le R de la fin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list.files(pattern="^[1-3].+R$")

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 210
    Par défaut
    Super !! Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Expression régulières : Balises <SCRIPT>
    Par Gwipi dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2006, 23h25
  2. Expression réguliére
    Par Mad_Max dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 16/09/2003, 18h17
  3. [expression régulière] mon cerveau fait des noeuds..
    Par nawac dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 27/05/2003, 10h06
  4. Expressions réguliéres
    Par Tooms dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2002, 18h42
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo