Om du vill skapa filter, utföra sökningar eller sätta upp mål i Google Analytics eller Angelfish Software behöver du en grundläggande förståelse för reguljära uttryck. Den här artikeln är en grundläggande repetition.

Använd vår kostnadsfria regex-tester för att testa dina egna reguljära uttryck.

Vad är reguljära uttryck?

Reguljära uttryck (även kallade regex) används för att hitta specifika mönster i en lista. I Google Analytics kan regex användas för att hitta allt som matchar ett visst mönster. Du kan till exempel hitta alla sidor inom en underkatalog eller alla sidor med en söksträng som är mer än tio tecken lång.

Reguljära uttryck ger ett kraftfullt och flexibelt sätt att beskriva hur mönstret ska se ut, genom att använda en kombination av bokstäver, siffror och specialtecken.

Tar du till exempel html i sökrutan i innehållsrapporterna får du tillbaka alla webbadresser som innehåller ”html” någonstans i sökvägen. Till exempel skulle följande sidor returneras:

  • /index.html
  • /html-definitions.php
  • /search.php?q=html+vs+php

Ettstegstecknet:

Regulära uttryck använder en rad specialtecken som har specifika betydelser. Detta är en grundlig, men inte fullständig, lista över de specialtecken i regex som har en icke-bokstavlig betydelse.

^ $ . ? () + \

Som exempel betyder frågetecknet ”gör det föregående tecknet valfritt” i regex. Vi visar ett exempel på detta i praktiken senare i den här artikeln.

Men om du vill söka efter ett frågetecken måste du ”undkomma” regex-tolkningen av frågetecknet. Det gör du genom att sätta ett backslash precis före frågetecknet, så här:

\?

Om du vill matcha ett punkttecken undviker du det genom att lägga till ett backslash före det. Exempelvis \.html skulle matcha en punkt följt av strängen ”html”.

Om du vill matcha en serie specialtecken i en rad, undviker du varje specialtecken individuellt. För att matcha ”$?” skulle du skriva $\?.

Du kan undvika alla specialtecken med ett backslash – även backslash! \\

Om du är osäker på om ett tecken är ett specialtecken eller inte kan du undvika det utan några negativa konsekvenser.

Anchors:

Regulära uttryck matchar det mönster du anger om de förekommer någonstans i strängen – i början, mitten eller slutet. Det finns ankare som du kan använda i regex för att ange att ett mönster endast ska förekomma i början eller slutet. Ankartecknen är:

^ $

Använd caret-symbolen (^) för att förankra ett mönster i början. Använd ett dollartecken ($) för att förankra ett mönster i slutet. Du kan använda endera eller båda i en

^/page kommer att matcha ”/pages.html”, ”/page/site.php” och ”/page”. Den matchar inte ”/site/page” eller ”/pag/es.html”.

^car$ matchar endast ”car” och ^$ matchar endast tomma strängar.

$/google.php^ matchar ingenting eftersom det är en dålig regex – careten ska alltid vara till vänster om dollarn: ^/google.php$

Teckensamlingar

Regex kan också användas för att matcha teckenkombinationer. Med hakparenteser kan du ange en mängd olika tecken som kan förekomma i en viss position i strängen.

Till exempel skulle matcha antingen ”e”, ”i” eller ”o”.

Du kan inkludera en lång lista med tecken inom hakparenteser, men det är lättare att matcha ett teckenintervall med ett bindestreck. Till exempel:

matchar alla små bokstäver från a till z. (Google Analytics är som standard okänslig för stora och små bokstäver.)

matchar alla små bokstäver, stora bokstäver eller siffror.

matchar a, b, c, d, X, Y eller Z.

Kvadratparenteser tittar på varje enskilt tecken, inte hela ord.

matchar en enskild förekomst av ”w”, ”o”, ”r” eller ”d”.

För att matcha en sträng av tecken, omsluter du dem inom parenteser och använder ett pipe (|) som ett ”eller”-tecken. Om du till exempel vill matcha en instans av ”cat” eller ”dog” skriver du:

(cat)|(dog) OR (cat|dog).

För att matcha ett valfritt tecken kan du slutligen använda en punkt. Det är som ett jokertecken för ett enskilt tecken:

car.s matchar ”carrs”, ”car?s”, ”car5s” osv.

Repeating Patterns

Med regex kan du till och med ange hur många gånger ett mönster ska förekomma.

Ett frågetecken efter ett tecken matchar noll eller en förekomst av tecknet. Detta gör tecknet valfritt:

aa?pple matchar ”aapple” eller ”apple”.

Ett plustecken matchar en eller flera förekomster.

a+ matchar ”a”, ”aa”, ”aaaaaaaaaaaaaa” osv.

En asterisk matchar noll eller flera förekomster av föregående tecken. I kombination med en punkt används ”.*” ofta som jokertecken eftersom det matchar vad som helst.

.* matchar alla icke-tomma strängar.

Med hjälp av krusade parenteser kan du matcha ett visst intervall av förekomster. Du anger lägsta och högsta antal förekomster.

ca{3,5}t matchar ”caaat”, ”caaaat”, ”caaaaat”, men inte ”cat” eller ”caaaaaaaaaaat”.

Nästa steg

Använd vårt kostnadsfria testprogram för reguljära uttryck för att testa dina egna reguljära uttryck. Lägg gärna sidan i bokmärken!

Articles

Lämna ett svar

Din e-postadress kommer inte publiceras.