Si vous voulez créer des filtres, effectuer des recherches ou définir des objectifs dans Google Analytics ou Angelfish Software, vous devez avoir une compréhension de base des expressions régulières. Cet article est un rafraîchissement de base.
Veuillez utiliser notre testeur de regex gratuit pour tester vos propres expressions régulières.
Qu’est-ce que les expressions régulières ?
Les expressions régulières (également appelées regex) sont utilisées pour trouver des modèles spécifiques dans une liste. Dans Google Analytics, les regex peuvent être utilisées pour trouver tout ce qui correspond à un certain motif. Par exemple, vous pouvez trouver toutes les pages d’un sous-répertoire, ou toutes les pages avec une chaîne de requête de plus de dix caractères.
Les expressions régulières fournissent un moyen puissant et flexible de décrire ce à quoi le motif doit ressembler, en utilisant une combinaison de lettres, de chiffres et de caractères spéciaux.
Par exemple, en tapant html
dans le champ de recherche des rapports de contenu, vous obtiendrez toutes les URL qui contiennent « html » n’importe où dans le chemin. Par exemple, les pages suivantes seront retournées :
- /index.html
- /html-definitions.php
- /search.php?q=html+vs+php
Le caractère d’échappement : Backslash
Les expressions courantes utilisent une série de caractères spéciaux qui portent des significations spécifiques. Il s’agit d’une liste complète, mais non exhaustive, des caractères spéciaux en regex qui portent une signification non littérale.
^ $ . ? () + \
À titre d’exemple, le point d’interrogation signifie « rendre le caractère précédent facultatif » en regex. Nous montrerons un exemple de ceci en action plus tard dans cet article.
Mais si vous voulez rechercher un point d’interrogation, vous devez « échapper » à l’interprétation regex du point d’interrogation. Vous y parvenez en mettant une barre oblique inverse juste avant le point d’interrogation, comme ceci :
\?
Si vous voulez faire correspondre le caractère point, échappez-le en ajoutant une barre oblique inverse avant. Par exemple, \.html
correspondrait à un point suivi de la chaîne « html ».
Si vous voulez correspondre à une série de caractères spéciaux dans une rangée, échappez simplement chacun d’eux individuellement. Pour faire correspondre « $ ? », vous devez taper $\?
.
Vous pouvez échapper à n’importe quel caractère spécial avec une barre oblique inverse – même la barre oblique inverse !
Si vous n’êtes pas sûr qu’un caractère soit un caractère spécial ou non, vous pouvez l’échapper sans aucune conséquence négative.
Ancres : Caret et Dollar
Les expressions régulières correspondent au modèle que vous spécifiez si elles apparaissent n’importe où dans la chaîne – début, milieu ou fin. Il existe des ancres que vous pouvez utiliser dans les regex pour spécifier qu’un motif ne doit apparaître qu’au début ou à la fin. Les caractères d’ancrage sont :
^ $
Utiliser le symbole de l’caret (^) pour ancrer un motif au début. Utilisez le signe dollar ($) pour ancrer un motif à la fin. Vous pouvez utiliser l’un ou l’autre ou les deux dans un
^/page
correspondra à « /pages.html », « /page/site.php » et « /page ». Il ne correspondra pas à « /site/page » ou « /pag/es.html ».
^car$
ne correspondra qu’à « car » et ^$
ne correspondra qu’à des chaînes vides.
$/google.php^
ne correspondra à rien car c’est une mauvaise regex – le signe d’insertion doit toujours être à gauche du dollar : ^/google.php$
Gammes de caractères
La regex peut également être utilisée pour faire correspondre des plages ou des combinaisons de caractères. Les crochets vous permettent de spécifier une variété de caractères qui peuvent apparaître dans une certaine position dans la chaîne.
Par exemple, correspondrait soit à « e », « i » ou « o ».
Vous pouvez inclure une longue liste de caractères entre crochets, mais il est plus facile de faire correspondre une plage de caractères avec un trait d’union. Par exemple :
correspondra à toute lettre minuscule de a à z. (Google Analytics est insensible à la casse par défaut.)
correspondra à toute lettre minuscule, lettre majuscule ou chiffre.
correspondra à a, b, c, d, X, Y ou Z.
Les crochets regardent chaque caractère individuel, pas les mots entiers.
correspond à une seule occurrence de « w », « o », « r » ou « d ».
Pour correspondre à une chaîne de caractères, mettez-les entre parenthèses et utilisez un point (|) comme caractère « ou ». Par exemple, pour faire correspondre une instance de « chat » ou de « chien », vous devez taper :
(cat)|(dog) OR (cat|dog)
.
Enfin, utilisez un point pour faire correspondre n’importe quel caractère. C’est comme un joker pour un seul caractère:
car.s
correspondra à « carrs », « car?s », « car5s », etc.
Répétition de motifs
Avec regex, vous pouvez même spécifier le nombre de fois qu’un motif doit apparaître.
Un point d’interrogation après un caractère correspondra à zéro ou une occurrence du caractère. Cela rend le caractère facultatif:
aa?pple
correspondra à « aapple » ou « apple ».
Un signe plus correspond à une ou plusieurs occurrences.
a+
correspondra à « a », « aa », « aaaaaaaaaa », etc.
Un astérisque correspond à zéro ou plus du caractère précédent. Combiné avec un point, « .* » est couramment utilisé comme joker car il correspond à n’importe quoi.
.*
correspondra à toute chaîne de caractères non vide.
Les accolades vous permettent de correspondre à une plage spécifique d’occurrences. Vous spécifiez le nombre minimum et maximum d’occurrences.
ca{3,5}t
correspondra à « caaat », « caaaat », « caaaaat », mais pas à « cat » ou « caaaaaaat ».
Prochaines étapes
Utilisez notre testeur de regex gratuit pour tester vos propres expressions régulières. N’hésitez pas à mettre la page en signet également !