Contact deux.io
  • Formation
    • Formation Growth Hacking
  • Conseil
    • Agence Growth
  • Blog
    • Growth Hacking
    • Stratégie Web
  • Growth Tools
    • Outils Gratuits
  • Accueil
  • Blog
  • tutoriel
  • Regex Tutorial 2020 : Pourquoi & Comment les utiliser ?
G H

Regex Tutorial 2020 : Pourquoi & Comment les utiliser ?

Regex tuto
Publié par Samuel Lamour le 3 décembre 2019
5 / 5 ( 11 votes )

Les Regex sont des outils puissants utilisés dans de nombreux domaines pour rechercher ou remplacer du texte. Dans cet article, nous allons vous présenter quelques cas d’usage avant de vous expliquer comment les utiliser. Let’s go !

A quoi servent les Regex ?

Les Regex ou « Regular expression » ou encore « Expressions régulières » sont des chaînes de caractères qui décrivent un ensemble variable. Au départ, ça peut vraiment ressembler à du chinois, quoi que… Mais vous verrez assez vite que ces chaînes de caractères bizarroïdes ont un sens et qu’avec un peu d’entraînement, tout s’éclaire (ou presque).

Petite précision : les Regex peuvent être utilisées dans plusieurs langages (Python, Javascript, MySQL, PHP,…) et même intégrés dans des lignes de code (en C#, Perl,…). Bref, suivant le langage, il pourra y avoir de petites variations syntaxiques pour que la Regex soit bien prise en compte comme vous le voulez.

Pour faire court, chaque Regex est décrite par des formules ou des patterns (des motifs si vous préférez). Dans le langage PHP par exemple (avec le type de Regex « PCRE » qui est le plus rapide et le plus performant), vous avez différentes fonctions qui débutent toutes par « preg_ ».

  • preg_replace
  • preg_split
  • preg_match
  • preg_quote
  • etc.

Nous avons choisi de travailler avec preg_match qui permet de tester une chaîne à partir d’une Regex. Concrètement, vous devez avoir en entrée une chaîne de caractères à tester + une Regex et vous obtiendrez  en sortie un résultat booléen « VRAI » (« TRUE ») ou « FAUX » (« FALSE »). Si dans la chaîne, la fonction trouve la Regex, alors il considère que la réponse est « VRAI », sinon c’est « FAUX ».

Le code pour tester une Regex est assez simple :

<?php
if (preg_match("** Votre REGEX **", "Ce dans quoi vous faîtes la recherche"))
{
echo 'Le mot que vous cherchez se trouve dans la chaîne';
}
else
{
echo 'Le mot que vous cherchez ne se trouve pas dans la chaîne';
}
?>

La Regex a la forme suivante : #Regex#Options

Bon, on pourrait commencer par vous faire un long et fastidieux cours sur la façon dont on écrit une Regex. On verra ça plus tard. En guise de préambule, nous avons plutôt choisi de vous présenter trois cas d’usage concrets et français !

Formez-vous au Growth Hacking !
Formation Growth Hacking en Continue

Cas d’usage n°1 : Objectifs sur Google Analytics

Sur GTM, on peut utiliser des balises d’évènement qui vont être déclenchées en réponse à une action spécifique (par exemple un clic sur un lien ou l’envoi d’un formulaire d’inscription). Mais attention, un évènement n’est pas forcément un objectif. Pour rappel, un évènement contient une catégorie, et une action, voire un label. Plusieurs boutons peuvent conduire au même objectif, par exemple « réaliser une vente », mais on aura donc plusieurs évènements.

Avec les Regex, on peut utiliser Google Analytics et ne créer qu’un seul évènement par objectif. Considérons que j’ai 3 produits sur mon site, appartenant à la même catégorie, et que mon seul objectif est de suivre les ventes réalisées dans cette catégorie là (et non pas les ventes de chaque produit). Je créé donc mon objectif sur Google Analytics.

Considérons maintenant les trois URL des produits :

  • www.monsite.fr/categorieA/produit?id=123
  • www.monsite.fr/categorieA/produit?id=456
  • www.monsite.fr/categorieA/produit?id=789

Sur Google Analytics, dans l’onglet « Filtres », on va donc écrire une Regex qui dit que si j’ai un produit dans la catégorie A qui a un numéro id constitué d’au moins un chiffre allant de 0 à 9, on prend en compte l’URL pour l’objectif.

\ /categorieA\/produit\ ?id=[0-9]{1,}

Dans Google Analytics, il suffira ensuite d’indiquer dans « Filtres » « inclure » « URL de la demande » et dans « Règle de filtrage », écrire la Regex.

Regex Google Analytics Objectifs
Filtres avec des Regex sur Google Analytics

Et voilà le travail ! Vous avez utilisé les Regex sur Google Analytics pour filtrer les données et ne retenir que celles qui servent à l’objectif.

Cas d’usage n°2 : Segment Google Analytics

Dans Google Analytics, vous pouvez segmenter vos données. Autrement dit, vous pouvez isoler et analyser des sous-parties (ou « segments ») de vos données. Suivant les cas, il peut s’agir de segments d’utilisateurs, de sessions ou d’appels. Admettons que dans notre exemple nous ne voulons voir dans les résultats que le segment d’utilisateurs originaire de France, de Belgique ou d’Italie. On peut obtenir la liste de ces users en créant un segment sur Google Analytics avec la règle de filtrage France|Belgique|Italie.

Regex 4
Segmenter les users en fonction du pays d’origine

Dans ce cas (comme dans bien d’autres), faire appel à des Expressions Régulières est plus rapide que de créer plusieurs filtres pour arriver à ses fins. Les Regex permettent aussi de traduire des besoins beaucoup plus précis, donc d’accéder à une segmentation non pas basique mais avancé.

Cas d’usage n°3 : Regexmatch sur Excel

Hé oui : les Regex sont partout, y compris dans Excel ! Dans l’exemple qui va suivre, nous allons définir et faire appel à une Regex qui va analyser le contenu de la cellule A1. La fonction va regarder si le premier ou les deux premiers caractères de la chaîne sont des chiffres. Si ça matche, alors les chiffres sont supprimés et la fonction affiche le reste de la chaîne de caractères. Si ça ne matche pas, la réponse sera « ne correspond pas ».

Avant de se lancer dans l’exemple, vous devez d’abord ajouter Microsoft Visual Basic. Pour cela, rendez-vous sur Excel.

  • Allez sur l’onglet Développeur (ou activez-le dans les paramètres Excel s’il n’apparait pas)
  • Appuyez sur « Visual Basic » puis sur « Code »
  • Vous trouverez ensuite l’onglet « Outils »
  • Cliquez sur « Références »
  • Sélectionnez « Microsoft VBScript Regular Expressions 5.5 »
  • Validez
Regex excel
Impression écran sur Microsoft Visual Basic

Entrez ensuite le code présenté ci-dessous (il permet de définir la Regex) Function simpleCellRegex (Myrange As Range) As String
Dim regEx As New RegExp
Dim strPattern As String
Dim strInput As String
Dim strReplace As String
Dim strOutput As String

strPattern = "^[0-9]{1,3}"

If strPattern <> "" Then
strInput = Myrange.Value
strReplace = ""

With regEx
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = strPattern
End With

If regEx.test(strInput) Then
simpleCellRegex = regEx.Replace(strInput, strReplace)
Else
simpleCellRegex = "Ne correspond pas"
End If
End If
End Function

Il suffit ensuite d’inscrire une chaîne de caractères dans une cellule, par exemple A1, puis d’appeler la fonction en B1 comme suit :

=simpleCellRegex(A1)

Quelques exemples de résultats :

Regex excel 4
Exemples de résultats

Cas d’usage n°4 : Fonction « OU » dans Google Tag Manager

Dans Google Tag Manager, vous pouvez paramétrer des conditions de déclenchement pour envoyer vos données. Autrement dit, vous pouvez paramétrer Tag manager pour qu’il envoi un hit d’événement vers analytics si certaines interactions se produisent.

Par exemple le clic sur une URL. Pour éviter de paramétrer autant de déclencheurs qu’il y à d’URLs différentes sur votre site, le reggex avec l’opérateur « | » correspondant à la fonction logique « OU » permet de gagner un temps considérable.

Par exemple au lieu de faire 3 déclencheur distincts correspondant aux clics de partage sur les réseaux sociaux, il est possible de faire un seul déclencheur en utilisant « | ».

Ce qui donne « Page URL » + « correspond à l »expression régulière » + « (URLFacebook|URLInstagram|URLTwitter) »

dans l’exemple ci dessus, l’ouverture des parenthèse suivi des « ou » sous la forme de « | » permettent de donner l’ordre envoie la donnée si la page url est égale à URLFacebook, ou URLInstagram, ou URLTwitter.

Syntaxe des possibilités des Regex

Les Expressions Régulières offrent des millions de possibilités. A noter qu’on peut normalement choisir n’importe quel caractère spécial pour délimiter la Regex, par exemple le dièse #.

La liste des métacaractères est la suivante :

Regex metacaracteres

Attention : si vous voulez utiliser un métacaractère dans une recherche, il faut l’échapper avec un antislash « \ » sinon ce métacaractère gardera son sens d’origine (par exemple de délimiteur pour le #).

Regex 2
Comment échapper un métacaractère

Voici quelques exemples de syntaxes :

Regex syntaxe 2
Quelques exemples de regex

Il existe également de nombreuses classes de caractères…

Regex classe de caracteres
Quelques classes de caractères

…et de nombreux quantificateurs…

Regex quantificateurs
Quelques quantificateurs

En début d’article, nous avions dit que nous pouvions grâce aux Regex faire des remplacements de caractères. Pour se faire, il faudra utiliser non plus la fonction « preg_match » mais la fonction « preg_replace » (dans l’exemple d’un script php).

<?php
$texte = preg_replace('#\[b\](.+)\[/b\]#i', '<strong>$1</strong>', $texte);
?>

Nous avions évoqué également la possibilité d’ajouter des options : #Regex#Options. Le « i » est par exemple une fonction. En l’ajoutant, la Regex ne fait plus la différence entre les majuscules et les minuscules. Bien entendu, la liste de ces options est longue…

Regex : quels outils ?

Une petite recherche sur votre moteur de recherche vous mettra vite au parfum : il y a sur le web pas mal d’outils pour tester des Regex ou pour apprendre à les utiliser. On peut citer en particulier :

  • Regex101
  • Regexpal
  • RegExr
  • Rubular
  • Debuggex

Bien que difficiles à maîtriser au premier abord, les Regex sont idéales pour tracker des objectifs ! L’abondance d’exemples pratiques et de sites pour apprendre à les utiliser les rend plus accessibles à des non experts en informatique. C’est un sacré atout ! Et vous, comment les utilisez-vous ? Partagez avec nous votre expérience sur le sujet !

Samuel Lamour

Expert Tracking & Analytics

Vous aimez? Partagez 🙂

  • Cliquez pour partager sur Facebook(ouvre dans une nouvelle fenêtre)
  • Cliquez pour partager sur Twitter(ouvre dans une nouvelle fenêtre)
  • Cliquez pour partager sur Google+(ouvre dans une nouvelle fenêtre)
  • Cliquez pour partager sur LinkedIn(ouvre dans une nouvelle fenêtre)
  • Cliquez pour partager sur WhatsApp(ouvre dans une nouvelle fenêtre)
  • Cliquez pour partager sur Pocket(ouvre dans une nouvelle fenêtre)
  • Cliquez pour envoyer par e-mail à un ami(ouvre dans une nouvelle fenêtre)
  • Cliquer pour imprimer(ouvre dans une nouvelle fenêtre)

Vous aimerez aussi...


Laisser un commentaire Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *


Bernier 19 décembre 2020 à 23 h 14 min

Bravo !
Vous réussissez à rendre les regex captivantes !

Répondre

Nos Hacks en avant 1ère
  Thank you for Signing Up
  Veuillez corriger le(s) champ(s) indiqué(s) ci-dessous.
1,true,6,E-mail d’abonné,2

☻ Qui sommes-nous

DEUX.IO est une Agence de Growth Marketing basée à Paris. Nous aidons nos clients (principalement startups) à identifier puis optimiser leur piste de croissance.

Contactez nous !


◢ Les meilleurs articles ⋰

Tailles des images Facebook, Twitter, Linkedin & autres réseaux sociaux

Cold email : Votre première campagne pas à pas

9 Growth Hackers / Marketers Français dévoilent leur Hack préféré

ImportHTML, ImportFeed & ImportXML: Extraire des données web directement dans Google Spreadsheet

Trouvez les vrais emails de vos contacts Facebook en 3 clics

18 outils Twitter essentiels pour vous les community manager !

47 Automatisations Zapier simples & efficaces

Relation blogueur : Comment mettre en place un partenariat efficace ?

Retargeting Facebook : Votre première campagne étape par étape.

Proposition de Valeur: Définition, Création et Exemples

  • Derniers articles
    • 7 tips CRO pour booster votre site e-commerce
    • Comment créer une campagne Adwords ? | 9 étapes pour être efficace
    • Rapportive vs Fullcontact vs Clearbit: Comparaison des API d’enrichissement d’Email
    • SPA et SEO: Comment Optimiser son Référencement Google
    • l’A/B testing pour débutants et pros
    • Le SEO : facteur clé de réussite sur le web
    • Regex Tutorial 2020 : Pourquoi & Comment les utiliser ?
  • deux.io

    Agence de Growth Hacking / Marketing à Paris

    • Contactez Nous !
    • 8, rue du caire
      75002 Paris
    •          
  • 🙌

    Envie d'Apprendre le
    Growth Marketing ?

    Chaque semaine, nous sélectionnons
    3 Articles & 1 Outils dédié au Growth
    et vous les envoyons par mail Chaque Jeudi.
      Thank you for Signing Up
      Veuillez corriger le(s) champ(s) indiqué(s) ci-dessous.
    1,true,6,E-mail d’abonné,2
    La Newsletter de Référence du Growth Hacking en France

    DÉCOUVREZ LES TECHNIQUES GROWTH QUE VOUS N'APPRENDREZ NULLE PART AILLEURS!

    Data, SEO, Prospection, Emailing, Automatisation, Linkedin, Ads, Analytics...
    Formez-vous toute l'année !
    Des nouveaux cours tous les mois !
    Accès à la Communauté, AMA Mensuel, Webinars exclusifs...
    Faîtes parti des 1% des meilleurs Growth.
    Envie d'en Savoir plus ?
    La meilleure manière de progresser, c'est de se former tout au long de l'année.
    loading Annuler
    L'article n'a pas été envoyé - Vérifiez vos adresses e-mail !
    La vérification e-mail a échoué, veuillez réessayer
    Impossible de partager les articles de votre blog par e-mail.