Reguläre Ausdrücke („Regexp“) sind bestimmte Zeichenfolgen, die weitgehend oder genau mit Mustern in Ihren Daten übereinstimmen. Mit ihnen lassen sich flexiblere Filter in Diagrammen und Steuerelementen erstellen. Darüber hinaus besteht die Möglichkeit, die folgenden Funktionen für reguläre Ausdrücke in Formeln für berechnete Felder zu verwenden:
REGEXP_CONTAINS |
Gibt „true“ zurück, wenn der Eingabewert das Muster des regulären Ausdrucks enthält. Andernfalls wird „false“ zurückgegeben. Weitere Informationen zu REGEXP_CONTAINS |
REGEXP_EXTRACT |
Gibt den ersten Teilstring im Eingabewert zurück, der mit dem Muster des regulären Ausdrucks übereinstimmt. Weitere Informationen zu REGEXP_EXTRACT |
REGEXP_MATCH |
Gibt „true“ zurück, wenn der Eingabewert mit dem Muster des regulären Ausdrucks übereinstimmt. Andernfalls wird „false“ zurückgegeben. Weitere Informationen zu REGEXP_MATCH |
EGEXP_REPLACE |
Ersetzt alle Textstrings im Eingabewert, die mit dem Muster des regulären Ausdrucks übereinstimmen, durch den Ersatzstring. Weitere Informationen zu EGEXP_REPLACE |
Alternativen zur Verwendung regulärer Ausdrücke
Das Erstellen regulärer Ausdrücke kann komplex sein. Bevor Sie eine Regexp-Funktion verwenden, sollten Sie überlegen, ob Sie Ihr Ziel nicht auch mit einer einfacheren Textfunktion erreichen würden. Die folgenden Regexp-ähnlichen Funktionen können Sie auch dann nutzen, wenn Sie die Syntax für reguläre Ausdrücke nicht kennen.
Funktion | Beschreibung |
---|---|
CONTAINS_TEXT |
Gibt „true“ zurück, wenn der angegebene Text im Feld oder im Ausdruck gefunden wird. Andernfalls wird „false“ zurückgegeben. |
ENDS_WITH |
Gibt „true“ zurück, wenn das Feld oder der Ausdruck mit dem angegebenen Text endet. Andernfalls wird „false“ zurückgegeben. |
LEFT_TEXT |
Gibt eine bestimmte Anzahl von Zeichen ab dem Beginn des angegebenen Strings zurück. |
REPLACE |
Gibt eine Kopie des ursprünglichen Texts zurück, in der alle Vorkommen des Suchtexts durch den neuen Text ersetzt wurden. |
RIGHT_TEXT |
Gibt eine bestimmte Anzahl von Zeichen ab dem Ende des angegebenen Strings zurück. |
STARTS_WITH |
Gibt „true“ zurück, wenn das Feld oder der Ausdruck mit dem angegebenen Text beginnt. Andernfalls wird „false“ zurückgegeben. |
TRIM |
Gibt Text ohne vorangehende und nachstehende Leerzeichen zurück. |
Beispiele für reguläre Ausdrücke
Stimmt überein, wenn „MeinFeld“ Leerzeichen enthält:
REGEXP_CONTAINS(MyField, "\\s+")
Das Verzeichnis der obersten Ebene einer URL extrahieren:
REGEXP_EXTRACT(URL,
^https://[^/]+/([^/]+)/
)
Wenn das Feld URL
beispielsweise die Adresse dieser Seite enthält, gibt die vorherige Funktion looker-studio
zurück.
Werbekampagnen nach Sprache kategorisieren:
CASE
WHEN REGEXP_MATCH(Campaign 2, R".*\|\s*en\s*\|.*") then "English"
WHEN REGEXP_MATCH(Campaign 2, R".*\|\s*es\s*\|.*") then "Spanish"
ELSE "Other language"
END
Wenn Sie diesen regulären Ausdruck z. B. auf die Dimension Kampagne im Google Analytics-Demokonto anwenden, werden folgende Ergebnisse zurückgegeben:
Kampagne | Sprache |
---|---|
Campaign #1 | Andere Sprache |
1000549 | Google Analytics Demo | DR | apontes | NA | US | en | Hybrid | AW SEM | BKWS | ~ AW - Google Brand (US) | Englisch |
1000549 | Google Analytics Demo | DR | apontes | NA | CA | es | Hybrid | AW SEM | BKWS | ~ AW - YouTube (CA) | Spanisch |
Reihenfolge der Abschnitte in einem String ändern:
REGEXP_REPLACE(Campaign, R'(.*):(.*)', R'\2 \1')
Im Beispiel oben werden die einzelnen Abschnitte durch einen Doppelpunkt (:) getrennt.
Metazeichen
Metazeichen sind Zeichen, die in regulären Ausdrücken eine besondere Bedeutung haben. Im Folgenden sehen Sie einige Metazeichen, die häufig verwendet werden. Wenn Sie die Beispiele anklicken, werden Seiten in der Google Analytics-Hilfe geöffnet. Die entsprechenden Informationen gelten aber auch für Looker Studio.
Platzhalter
. | Entspricht jedem einzelnen Zeichen (Buchstabe, Zahl oder Symbol). | 1. entspricht 10, 1A 1.1 entspricht 111, 1A1 Beispiele |
? | Entspricht keinmal oder einmal dem vorangehenden Zeichen. | 10? entspricht 1, 10 Beispiele |
+ | Entspricht mindestens einmal dem vorangehenden Zeichen. | 10+ entspricht 10, 100 Beispiele |
* | Entspricht keinmal oder mehrmals dem vorangehenden Zeichen. | 1* entspricht 1, 10 Beispiele |
| | Erstellt eine ODER-Übereinstimmung. Nicht am Ende eines Ausdrucks verwenden. |
1|10 entspricht 1, 10 Beispiele |
Anker
^ | Entspricht aufeinanderfolgenden Zeichen am Anfang eines Strings. | ^10 entspricht 10 , 10 0, 10 x ^10 entspricht nicht 1 10 , 1 10 x Beispiele |
€ | Entspricht aufeinanderfolgenden Zeichen am Ende eines Strings. | 10 € entspricht 1 10 , 10 10 10 € entspricht nicht 10 0, 10 x Beispiele |
Gruppen
( ) | Entspricht den in Klammern gesetzten Zeichen in der angegebenen Reihenfolge an einer beliebigen Stelle eines Strings. Wird auch zum Gruppieren anderer Ausdrücke verwendet. |
(10) entspricht 10 , 10 1, 10 11 ([0-9]|[a-z]) entspricht einer beliebigen Zahl oder einem beliebigen Kleinbuchstaben Beispiele |
[ ] | Entspricht den in Klammern gesetzten Zeichen in beliebiger Reihenfolge an einer beliebigen Stelle eines Strings. | [10] entspricht 01 2, 1 20, 2 10 Beispiele |
- | Erstellt einen Zeichenbereich in Klammern zur Übereinstimmung an einer beliebigen Stelle im String. | [0-9] entspricht einer beliebigen Zahl zwischen 0 und 9. Beispiele |
Escape-Taste
\\ | Zeigt an, dass das angrenzende Zeichen wortgetreu und nicht als Metazeichen regulärer Ausdrücke ausgewertet werden soll. |
\\ zeigt an, dass der angrenzende Punkt als Punkt oder Dezimalzeichen und nicht als Platzhalter interpretiert werden soll 216\\.239\\.32\\.34 entspricht 216.239.32.34 Beispiele |
Zeichenklassen
\d | Ziffern (≡ [0-9]) |
\D | keine Ziffern (≡ [^0-9]) |
\s | Leerzeichen (≡ [\t\n\f\r ]) |
\S | keine Leerzeichen (≡ [^\t\n\f\r ]) |
\w | Wortzeichen (≡ [0-9A-Za-z_]) |
\W | keine Wortzeichen (≡ [^0-9A-Za-z_]) |
Tipps
Verwenden Sie einfache Ausdrücke.
Verwenden Sie einfache reguläre Ausdrücke. Sie lassen sich von anderen Nutzern leichter auswerten und anpassen.
Groß-/Kleinschreibung beachten
Bei regulären Ausdrücken wird standardmäßig die Groß-/Kleinschreibung berücksichtigt. Wenn sie ignoriert werden soll, können Sie das Flag (?i)
verwenden. Mit diesem Ausdruck werden beispielsweise sowohl „abc123“ als auch „ABC123“ extrahiert:
REGEXP_EXTRACT(MyField, '(?i)(a.*)')
Umgekehrten Schrägstrich maskieren
Wie bereits erwähnt, können Sie den umgekehrten Schrägstrich (\) verwenden, um Metazeichen regulärer Ausdrücke zu maskieren, die wortgetreu ausgewertet werden sollen. Der umgekehrte Schrägstrich muss ebenfalls maskiert werden, damit er in einem in Anführungszeichen gesetzten String gefunden werden kann. Der reguläre Ausdruck enthält dann also zwei umgekehrte Schrägstriche. Beispiel:
REGEXP_REPLACE(String, "(\\[.*\\])\\+(\\[.*\\])","\\2 \\1")
Alternativ können Sie das Präfix für Raw-String-Literale (R) verwenden:
REGEXP_REPLACE(String, R"(\[.*\])\+(\[.*\])",R"\2 \1")