Les expressions régulières (ou expression rationnelle) sont un moyen pratique de nettoyer un texte de données superflues. Il s’agit de formule qui vont saisir des segments de textes, des motifs, qu’il va être possible de modifier, un système de type rechercher et remplacer en plus complexifiable…
Par exemple :
<?xml version="1.0" encoding="UTF-8"?><monthEntity issue="GDL" year="1914" month="02"><name>A propos de François Coillard</name><publication>GDL</publication><issue_date>01/02/1914</issue_date>A propos de François Coillard Lausanne, le 1 février M. Edouard Favre a donc publié le troisième et dernier volume de son François Coillard.
Pour enlever les balises de code comme
<name>A propos de François Coillard</name><publication>GDL</publication><issue_date>01/02/1914</issue_date>
pour n’avoir plus que
A propos de François Coillard, GDL, 01/02/1914
on va pouvoir utiliser des expressions régulières1. Si l’on imagine qu’un corpus comporte des centaines de fois le même type de balise que l’on souhaite simplifier, la technique prend tout son sens.
Il existe plusieurs type d’expression régulièrement dépendamment du logiciel utilisé. De façon générale, on va pouvoir chercher des chaînes de caractères :
- expression régulière : chat
- trouvera chat dans le texte. Exemple : le petit chat est roux
- expression régulière : ar
- trouvera tout les ar dans le texte. Exemple : l’arbre sera marron
- expression régulière : meme
- trouvera tout les meme dans le texte, et pas moins. Exemple : C’est le même meme que mes memes
les mots en gras correspondent à ce qui va être sélectionné.
Il y aussi les symboles permettant de définir la position des mots dans le texte :
- expression régulière : ^
-
trouvera toutes les chaînes de caractère en début de ligne. Exemple : si on cherche pour ^22, trouvera :
22 elle est ici, mais travaille t’elle
22 elle mange 22
la jeune fille travaille, 22 elle - expression régulière : $
-
trouvera toutes les chaînes de caractère en début de ligne. Exemple : si on cherche pour elle$, trouvera :
elle est ici, mais travaille t’elle
elle mange
la jeune fille travaille, elle
- Expression régulière : . (un point)
- permettra de sélectionner n’importe quel caractère. Exemple : m.r, trouvera : mer, mort, mare, amer
- Expression régulière : \d
- permettra de sélectionner n’importe quel chiffre. Exemple : \d\d, trouvera : 45 32 45 mais pas 4em (car avec deux fois \d on implique une chaine de deux nombres à la suite)
- Expression régulière : \w
- permettra de sélectionner n’importe quel chiffre ou lettre. Exemple : \w\w, trouvera : 45 3e 4a le la
Après ces quelques exemples dans les grandes lignes, vous trouverez de nombreuses expressions suplémentaires, sur le site expreg.com, ou sur le codepen de Jake Albaugh spécialement pour sublime text.
Nous allons faire quelques exercices avec SublimeText, pour commencer, il va falloir installer SublimeText, une interface pour coder qui vous permettra de travailler facilement sur votre corpus. Nous utilisons SublimeText car ce programme est utilisable sur mac / windows / linux.
Une fois le logiciel installé, l’outil important se trouve en maintenant cmd + alt + F. Un onglet s’ouvre. Dans “Find What” il faut entrer les expressions régulières, dans “Replace With” ce qu’on souhaite mettre à la place des morceaux de texte sélectionnés. Vérifier que les symboles “Case Sensitive” (1) – Sensible à la casse (la casse signifie si une lettre est en minuscule ou en majuscule) et “Regular Expression” (2) sont bien sélectionnés.
Pour retirer un nom d’utilisateur twitter
dans votre texte : @Utilisateur
dans “Find What :” @\w*
dans “Replace With :” laisser vide effacera tous les noms d’utilisateur
Pour retirer un hashtag
dans votre texte : #Hashtag
dans “Find What :” #\w*
dans “Replace With :” laisser vide effacera tous les hashtags
Pour réduire des dates
dans votre texte : 22/07/15
dans “Find What :” (\d*)(/)(\d*)(/)(\d*)
dans “Replace With :” $1$3$5 (le $1 sélectionne ce qui se trouve dans la première parenthèse et le conserve, le $2 correspondant à la seconde parenthèse n’est pas sélectionné et ne sera pas remplacé)
Donnera : 220715
BONUS | Des jeux sur les expressions régulières (merci à Aris Xanthos pour ce lien!) :
TUTORIEL EN LIGNE :
Sur Openclassroom
- Si vous utilisez Voyant Tools, par exemple, enlever les balises XML comme dans cet exemple n’a pas de sens. Si vous utilisez, en revanche, IRaMuTeQ, alors les balises XML sont superflues et doivent être remplacées par des variables étoilées. [↩]