Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Expressions régulières
  3. Les expressions régulières en R
Extrait - Expressions régulières Syntaxe et mise en œuvre (avec exercices et corrigés) (2e édition)
Extraits du livre
Expressions régulières Syntaxe et mise en œuvre (avec exercices et corrigés) (2e édition) Revenir à la page d'achat du livre

Les expressions régulières en R

Généralités 

Le langage R a été développé à partir de 1991 par Ross Ihaka et Robert Gentleman, deux statisticiens de l’université d’Auckland, en Nouvelle-Zélande. Il est basé sur le langage S, développé par John Chambers et quelques-uns de ses collègues des Laboratoires Bell (Bell Labs) au milieu des années 1970. C’est un langage orienté objet, de haut niveau, destiné à faciliter les calculs et études statistiques. Le langage R est largement compatible avec S, notamment pour les fonctions statistiques les plus communes. Cependant, des incompatibilités existent, par exemple en ce qui concerne les sorties graphiques et les interfaces avec d’autres langages ou avec des bases de données.

R sert à la manipulation de données statistiques et à la visualisation de données. Il est interprété et développé en C, en Fortran et en R. De nombreux paquets logiciels existent (plus de 20.000 à la date d’écriture de cette édition) et sont disponibles dans le dépôt CRAN (Comprehensive R Archive Network). Il est très apprécié des statisticiens et des chercheurs, chez qui il est très populaire. Il est classé dans les vingt langages les plus populaires au classement TIOBE...

Les expressions régulières 

Plusieurs paquets logiciels existent pour la gestion des expressions régulières en R, en particulier les paquets base et stringr. Nous n’étudierons ici que les fonctions du paquet base car ce sont les plus proches de celles que nous pouvons trouver dans d’autres langages ou bibliothèques.

Les expressions régulières manipulées par ces fonctions de base sont soit des expressions régulières étendues telles que spécifiées par le standard POSIX 1003.2, soit des expressions régulières de type Perl, telles que spécifiées par le standard PCRE (pas encore PCRE2). Le type d’expression est sélectionnable au moyen d’un indicateur binaire, le standard par défaut étant POSIX 1003.2.

Manipulation des expressions régulières 

R propose des fonctions de recherche de correspondances et de substitution de chaînes de caractères. Ces fonctions peuvent travailler sur des éléments simples ou sur des vecteurs. Les indicateurs binaires déterminant le mode de fonctionnement sont passés sous forme de paramètres optionnels.

1. Recherche de chaînes 

a. Fonction grep() 

La fonction grep() a approximativement la même fonction que la commande GNU grep vue dans un chapitre précédent. Elle recherche les chaînes correspondant à une expression régulière dans un élément x qui peut être un vecteur de chaînes de caractères, ou un objet pouvant être converti en vecteur de chaînes de caractères. Elle accepte des modificateurs, sous forme de variables booléennes, qui servent à modifier le comportement de l’interpréteur de l’expression régulière.

Syntaxe

grep(regex, x, ignore.case = FALSE, perl = FALSE,  
    value = FALSE, fixed = FALSE, useBytes = FALSE,  
    invert = FALSE) 

La signification des paramètres est la suivante :

  • regex : expression régulière pour laquelle on cherche des correspondances.

  • x : vecteur de chaînes de caractères, ou élément pouvant être converti en vecteur de chaînes de caractères.

  • ignore.case : indicateur booléen indiquant si l’interpréteur doit ignorer la casse des caractères ou (par défaut) ne pas les ignorer.

  • perl : indicateur booléen indiquant si l’expression fournie est de type PCRE (Perl Compatible Regular Expression) ou (par défaut) de type POSIX 1003.2.

  • value : indicateur booléen indiquant si la fonction doit retourner une liste de valeurs ou (par défaut) une liste d’indices.

  • fixed : indicateur booléen indiquant si l’expression régulière doit être traitée comme une chaîne fixe ou (par défaut) comme une expression régulière.

  • useBytes : indicateur booléen indiquant si la recherche de correspondances doit être effectuée octet par octet ou caractère par caractère (rappelons que dans certaines configurations, les caractères...