Hvis du ønsker at oprette filtre, udføre søgninger eller opstille mål i Google Analytics eller Angelfish Software, skal du have en grundlæggende forståelse af regulære udtryk. Denne artikel er en grundlæggende genopfriskning.
Brug vores gratis regex-tester til at teste dine egne regulære udtryk.
Hvad er regulære udtryk?
Regulære udtryk (også kendt som regex) bruges til at finde specifikke mønstre i en liste. I Google Analytics kan regex bruges til at finde alt, der passer til et bestemt mønster. Du kan f.eks. finde alle sider inden for en undermappe eller alle sider med en forespørgselsstreng på mere end ti tegn.
Regulære udtryk giver en kraftfuld og fleksibel måde at beskrive, hvordan mønstret skal se ud, ved hjælp af en kombination af bogstaver, tal og specialtegn.
Tegner du f.eks. html
i søgefeltet i indholdsrapporterne, får du alle URL’er, der indeholder “html” et sted i stien, tilbage. F.eks. vil følgende sider blive returneret:
- /index.html
- /html-definitions.php
- /search.php?q=html+vs+php
Evakueringstegnet: Backslash
Regulære udtryk bruger en række specialtegn, som har bestemte betydninger. Dette er en grundig, men ikke komplet, liste over de specialtegn i regex, der har en ikke-bogstavelig betydning.
^ $ . ? () + \
Som eksempel betyder spørgsmålstegnet “gør det foregående tegn valgfrit” i regex. Vi viser et eksempel på dette i praksis senere i denne artikel.
Men hvis du vil søge i et spørgsmålstegn, skal du “undslippe” regex-fortolkningen af spørgsmålstegnet. Det opnår du ved at sætte en skråstreg lige før spørgsmålstegnet, som her:
\?
Hvis du vil matche punktumtegnet, skal du undslippe det ved at tilføje en skråstreg før det. F.eks. ville \.html
matche et punkt efterfulgt af strengen “html”.
Hvis du vil matche en række specialtegn i en række, skal du blot undslippe dem hver for sig. Hvis du vil matche “$?”, skal du skrive $\?
.
Du kan undslippe ethvert specialtegn med en skråstreg – selv skråstregen! \\\
Hvis du er usikker på, om et tegn er et specialtegn eller ej, kan du undslippe det uden negative konsekvenser.
Anchors:
Regulære udtryk passer til det mønster, du angiver, hvis de forekommer et vilkårligt sted i strengen – i begyndelsen, midten eller slutningen. Der er ankre, som du kan bruge i regex til at angive, at et mønster kun skal forekomme i begyndelsen eller slutningen. Ankertegnene er:
^ $
Brug caret-symbolet (^) for at forankre et mønster til begyndelsen. Brug et dollartegn ($) til at forankre et mønster til slutningen. Du kan bruge en af dem eller begge i en
^/page
vil matche “/pages.html”, “/page/site.php” og “/page”. Den vil ikke matche “/site/page” eller “/pag/es.html”.
^car$
vil kun matche “car”, og ^$
vil kun matche tomme strenge.
$/google.php^
vil ikke matche noget, fordi det er dårlig regex – caretten skal altid være til venstre for dollaren: ^/google.php$
Rækkevidder af tegn
Regex kan også bruges til at matche rækkevidder eller kombinationer af tegn. Firkantede parenteser giver dig mulighed for at angive en række tegn, der kan forekomme i en bestemt position i strengen.
For eksempel ville matche enten “e”, “i” eller “o”.
Du kan inkludere en lang liste af tegn i firkantede parenteser, men det er nemmere at matche en række tegn med en bindestreg. For eksempel:
vil matche ethvert lille bogstav fra a til z. (Google Analytics er som standard ufølsom over for store og små bogstaver.)
vil matche ethvert lille bogstav, stort bogstav eller tal.
vil matche a, b, c, d, X, Y eller Z.
Kvadratparenteser ser på hvert enkelt tegn, ikke på hele ord.
matcher en enkelt forekomst af “w”, “o”, “r” eller “d”.
For at matche en streng af tegn skal du omslutte dem i parenteser og bruge et rør (|) som et “eller”-tegn. Hvis du f.eks. vil matche en forekomst af “cat” eller “dog”, skal du skrive:
(cat)|(dog) OR (cat|dog)
.
Sluttelig skal du bruge et punktum til at matche et hvilket som helst tegn. Det er som et wildcard for et enkelt tegn:
car.s
vil matche “carrs”, “car?s”, “car5s” osv..
Gentagende mønstre
Med regex kan du endda angive, hvor mange gange et mønster skal forekomme.
Et spørgsmålstegn efter et tegn vil matche nul eller én forekomst af tegnet. Dette gør tegnet valgfrit:
aa?pple
matcher “aapple” eller “apple”.
Et plustegn matcher en eller flere forekomster.
a+
matcher “a”, “aa”, “aaaaaaaaaaaaaa” osv.
En asterisk matcher nul eller flere forekomster af det foregående tegn. Kombineret med et punktum bruges “.*” ofte som et jokertegn, fordi det passer til alt.
.*
passer til alle ikke-tomme strenge.
Krumme parenteser giver dig mulighed for at matche et bestemt interval af forekomster. Du angiver det mindste og største antal forekomster.
ca{3,5}t
matcher “caaat”, “caaaat”, “caaaaat”, “caaaaat”, men ikke “cat” eller “caaaaaaaaaaat”.
Næste trin
Brug vores gratis regex-tester til at teste dine egne regulære udtryk. Du er også velkommen til at sætte siden som bogmærke!