Een reguliere expressie ('regex') is een specifieke reeks tekens die in brede of nauwkeurige zin overeenkomt met patronen in uw gegevens. U kunt reguliere expressies gebruiken om flexibelere filters te maken in diagrammen en bedieningselementen. Bovendien kunt u in formules voor berekende velden de volgende functies voor reguliere expressies gebruiken:
REGEXP_CONTAINS | Retourneert de waarde 'true' als de invoerwaarde het patroon van de reguliere expressie bevat en retourneert de waarde 'false' als dit niet het geval is. Meer informatie |
REGEXP_EXTRACT | Retourneert de eerste subtekenreeks in de invoerwaarde die overeenkomt met het patroon van de reguliere expressie. Meer informatie |
REGEXP_MATCH | Retourneert de waarde 'true' als de invoerwaarde overeenkomt met het patroon van de reguliere expressie en retourneert de waarde 'false' als dit niet het geval is. Meer informatie |
REGEXP_REPLACE | Vervangt alle instanties van tekst die overeenkomt met het patroon van de reguliere expressie in de invoerwaarde door de vervangende tekenreeks. Meer informatie |
Voorbeelden
De directory op het hoogste niveau in een URL ophalen:
REGEXP_EXTRACT(URL, '^https://[^/]+/([^/]+)/')
Als het veld URL
bijvoorbeeld het adres van deze pagina bevat, vraagt de functie hierboven looker-studio
op.
Zo categoriseert u advertentiecampagnes op taal:
Als u dit bijvoorbeeld toepast op de dimensie Campagne in het demo-account van Google Analytics, krijgt u de volgende resultaten:
Campagne | Taal |
---|---|
Campaign #1 | Other language |
1000549 | Google Analytics Demo | DR | apontes | NA | US | en | Hybrid | AW SEM | BKWS | ~ AW - Google Brand (US) | English |
1000549 | Google Analytics Demo | DR | apontes | NA | CA | es | Hybrid | AW SEM | BKWS | ~ AW - YouTube (CA) | Spanish |
De volgorde van secties in een tekenreeks wijzigen:
In het bovenstaande voorbeeld worden de secties gescheiden door een dubbele punt (:).
Metatekens voor reguliere expressies
Metatekens zijn tekens die een speciale betekenis hebben in een reguliere expressie. Hier volgen enkele veelvoorkomende metatekens die u kunt gebruiken. De voorbeelden worden geopend in het Helpcentrum van Google Analytics, maar de informatie die daar wordt weergegeven, is ook van toepassing op Looker Studio.
Bekijk de documentatie van google/RE2 op GitHub voor de volledige syntaxis voor reguliere expressies.
Jokertekens
. | Komt overeen met elk willekeurig teken (letter, cijfer of symbool) | 1. komt overeen met 10, 1A 1.1 komt overeen met 111, 1A1 Voorbeelden |
? | Geeft aan dat het voorgaande teken 0 of 1 keer mag voorkomen | 10? komt overeen met 1, 10 Voorbeelden |
+ | Geeft aan dat het voorgaande teken 1 of meer keer mag voorkomen | 10+ komt overeen met 10, 100 komt overeen met |
* | Geeft aan dat het voorgaande teken 0 of meer keer mag voorkomen | 1* komt overeen met 1, 10 Voorbeelden |
| | Maakt een OF-overeenkomst Niet gebruiken aan het einde van een expressie |
1|10 komt overeen met 1, 10 Voorbeeld |
Ankers
^ | Geeft de naastliggende tekens aan het begin van een tekenreeks aan | ^10 komt overeen met 10, 100, 10x ^10 komt niet overeen met 110, 110x Voorbeelden |
$ | Geeft de naastliggende tekens aan het eind van een tekenreeks aan | 10$ komt overeen met 110, 1010 10$ komt niet overeen met 100, 10x Voorbeelden |
Groepen
( ) | Komt overeen met de tekens tussen de haakjes in een exacte volgorde op een willekeurige plaats in een tekenreeks Wordt ook gebruikt om andere expressies te groeperen |
(10) komt overeen met 10, 101, 1011 ([0-9]|[a-z]) komt overeen met elk cijfer of elke kleine letter Voorbeelden |
[ ] | Komt overeen met de tekens tussen de haakjes in elke volgorde op een willekeurige plaats in een tekenreeks | [10] komt overeen met 012, 120, 210 Voorbeelden |
- | Maakt een reeks tekens tussen haken die wordt gevonden op een willekeurige plaats in een tekenreeks | [0-9] komt overeen met elk cijfer van 0 tot en met 9 Voorbeelden |
Escape
\ |
Geeft aan dat het volgende naastliggende teken letterlijk moet worden geïnterpreteerd en niet als een metateken voor reguliere expressies Bekijk de opmerking hieronder over overeenkomende metatekens. |
\. geeft aan dat de naastliggende punt moet worden geïnterpreteerd als een punt of decimaal in plaats van als een jokerteken. 216\.239\.32\.34 komt overeen met 216.239.32.34 Voorbeelden |
Tekenklassen
\d |
cijfers (≡ [0-9]) |
\D |
geen cijfers (≡ [^0-9]) |
\s |
witruimten (≡ [\t\n\f\r ]) |
\S |
geen witruimten (≡ [^\t\n\f\r ]) |
\w |
woordtekens (≡ [0-9A-Za-z_]) |
\W |
geen woordtekens (≡ [^0-9A-Za-z_]) |
Tips
Eenvoudige expressies gebruiken
Maak uw reguliere expressies niet te ingewikkeld. Eenvoudige reguliere expressies kunnen gemakkelijker worden geïnterpreteerd en aangepast door andere gebruikers.
Hoofdlettergevoeligheid
(?i)
. Voorbeeld:REGEXP_EXTRACT(MyField, '(?i)(a.*)')
haalt zowel 'abc123' als 'ABC123' op.
De backslash escapen
Zoals hierboven aangegeven, kunt u de backslash (\) gebruiken om metatekens voor reguliere expressies te escapen als u wilt dat deze tekens letterlijk worden geïnterpreteerd. Als u wilt dat een backslash in een tekenreeks met aanhalingstekens letterlijk wordt geïnterpreteerd, moet u die ook escapen. Dan komen er 2 backslashes in uw regex. Voorbeeld:
REGEXP_REPLACE(String, "(\\[.*\\])\\+(\\[.*\\])","\\2 \\1")
Als alternatief kunt u het voorvoegsel voor de letterlijke waarde voor onbewerkte tekenreeksen (R) gebruiken:
REGEXP_REPLACE(String, R"(\[.*\])\+(\[.*\])",R"\2 \1")