Tutorial über reguläre Ausdrücke für Marketers und die Web-Analyse

Dieses Tutorial über reguläre Ausdrücke richtet sich an Marketers. Du erfährst hier die Grundlagen zu regulären Ausdrücken und siehst anhand von Beispielen, was reguläre Ausdrucke sind und wie du sie zum Filtern von Daten in Marketing-Tools verwendest.

Inhaltsverzeichnis

Anwendungsfälle von regulären Ausdrücken in der Web-Analyse

Reguläre Ausdrücke werden als “RegEx” abgekürzt. Diese Bezeichnung findest du oft in den Berichtsfiltern vieler Web-Analyse-Tools.

Der erste Anwendungsfall für RegEx ist das Filtern von Berichten in Analyse-Tools wie der Search Console, Google Analytics 4, Microsoft Clarity oder dem SEO-Tool Screaming Frog.

 

Beispiel für einen regulären Ausdruck zum Filtern von Berichten in der Search Console

 

Der zweite Anwendungsfall ist das Erstellen von Bedingungen. Etwa Trigger-Bedingungen im Google Tag-Manager.

Platzhaltersymbole (Tokens) in regulären Ausdrücken

Ein regulärer Ausdruck besteht aus mehreren Platzhaltersymbolen. Diese Platzhaltersymbole werden “Tokens” genannt. Je nach RegEx Standard werden verschiedene Arten von Tokens unterstützt.

Ich beschränke mich in diesem RegEx Tutorial auf den RE2-Standard, den Google in seinen Marketing-Tools unterstützt.

Hier ist ein Beispiel für einen regulären Ausdruck, der die 5 wichtigsten Token-Klassen enthält, die wir uns in den nächsten Kapiteln ansehen.

.*\/blog\/(tutorial|how-to)[a-z0-9-_]+$

Nehmen wir an, wir verwenden den obigen RegEx in einem Analyse-Tool um einen Bericht nach bestimmten URLs zu filtern. Das Tool vergleicht dann, ob der reguläre Ausdruck zu jeder einzelnen URL im Bericht passt. Ist das der Fall, haben wir einen “Match” und die Zeile des Berichtes wird angezeigt.

Sehen wir uns nun der Reihe nach die 5 wichtigsten Token-Klassen an. Wir beginnen mit dem “Literal”.

Das Literal

Ein Literal ist die einfachste Form eines Tokens in einem regulären Ausdruck. Es steht für genau ein Zeichen, das genauso wie im regulären Ausdruck angegeben (also buchstäblich, engl.“literally”) im Vergleichstext wie etwa einer URL vorkommen muss.

Sehen wir uns die ersten Literale des vorhin erwähnten RegEx-Beispiels an:

.*\/blog\/(tutorial|how-to)[a-z0-9-_]+$

Der markierte Text “blog” besteht aus 4 Literalen, nämlich “b”, “l”, “o” und “g”. Auch der Text “tutorial” und “how-to” besteht aus einzelnen Literalen.

Standardmäßig sind reguläre Ausdrücke Case-Sensitiv. Sie unterscheiden zwischen Groß- und Kleinschreibung.

Token “escapen”

Der oben erwähnte reguläre Ausdruck enthält vor und nach den Literalen des Textes *“blog” *jeweils einen Slash. Damit wollen wir in einem Bericht all jene URLs filtern, in denen “blog” ein Unterverzeichnis ist.

Allerdings kann ein Slash in einem regulären Ausdruck eine besondere Bedeutung haben. Damit dieser Token als Literal (also als Zeichen) berücksichtigt wird, muss er “escaped” werden. Dazu stellt man ihm ein Backslash voran. Das bedeutet so viel wie “behandle das unmittelbar nachfolgende Zeichen (den “Token”) als Literal und somit als “/” und nicht als besonderen Token.

Einen Backslash benöigst du vor allen Tokens, die in einem RegEx eine besondere Bedeutung haben. Beispiele dafür sind das Slash, runde und eckige Klammern, das Fragezeichen oder das Plus um nur einige zu nennen.

Zeichenklassen

Unser regulärer Ausdruck enthält zwei Zeichenklassen, die ich markiert habe.

.*\/blog\/(tutorial|how-to)[a-z0-9-_]+$

Die Zeichenklasse “Punkt”

Der Punkt ist eine Zeichenklasse, die für genau ein beliebiges Zeichen steht. Beliebig ist dabei wörtlich gemeint. Ein Punkt kann nicht nur für Buchstaben oder Ziffern stehen sondern auch für ein Leerzeichen und sogar für nicht darstellbare Sonderzeichen.

Die Zeichenklasse “[]”

Auch die eckige Klammer ist in einem RegEx eine Zeichenklasse. Sie steht ebenso wie der Punkt für genau ein einzelnes Zeichen. Innerhalb der eckigen Klammern gibst du nun an, für welche Zeichen diese Zeichenklasse stehen soll; z.B.:

  • Die Bereichsangebe “a-z” bedeutet jeder Kleinbuchstabe von “a” bis “z”
  • Der Bereich “0-9” steht für jede Ziffer von 0-9.
  • Die Bereichsangabe “A-Z” steht für jeden Großbuchstaben
  • “abc” steht für ein kleines “a” oder ein kleines “b” oder ein kleines “c”

Die obigen Beispiele kannst du in einer Zeciehnklasse kombinieren. In unserem Beispiel haben wir die Zeichenklasse:

[a-z0-9-_]

Die Zeichenklasse steht somit für entweder genau einen Kleinbuchstaben, genau eine Ziffer, das Zeichen (Literal) “-” oder das Zeichen (Literal) “_”. Falls du in einer Zeichenklasse Bereichangaben und einzelne Literale gemeinsaman angibst, beginne stets mit den Bereichsangaben

Perl Zeichenklassen

Perl-Zeichenklassen sind die dritte Art bzw. Variante von Zeichenklassen in einem RegEx. Der Name Perl hat für diese Zeichenklassen aber keine besondere Bedeutung, sondern stammt lediglich von der Programmiersprache Perl.

Eine Perl-Zeichenklasse beginnt mit einem Backslash gefolgt von einem bestimmten Zeichen, das für die Zeichenklasse steht:

  • \s (mit kleinem “s”) für genau ein Whitespace (wie z.B. ein Leerzeichen)
  • \S (mit großem “S”) für alle Zeichen außer Whitespace
  • \d für eine Ziffer (entspricht der Zeichenklasse [0-9])
  • \D für Zeichen, die keiner Ziffer entsprechen
  • \w für Wort-Zeichen (entspricht der Zeichenklasse [0-9A-Za-z_]
  • \W für das genaue Gegenteil von \w (also kein Wort-Zeichen).

Besonders häufig wird die Per-Zeichenklasse “\s” für Leerzeichen benötigt, beispielsweise um Branded und Non-Branded Suchanfragen in der Search Console zu filtern.

Nehmen wir an, es gibt eine Website mit dem Namen “no camera bag”. Bei der Suche nach dieser Marke wird der Suchbegriff manchmal zusammen (nocamerabag) und manchmal auseinander (no camera bag) geschrieben. Manchmal wird aber auch nach (no camerabag) gesucht.

Wie du das mit einem regulären Ausdruck löst, sehen wir uns in den Praxis-Beispielen weiter hinten im Beitrag an.

Quantoren

Hier noch einmal unser RegEx beispiel, in dem ich nun die Quantoren markiert habe:

.*\/blog\/(tutorial|how-to)[a-z0-9-_]+$

Mit einem Quantor legst du fest, wie oft sich ein Zeichen wiederholen darf. Die drei häufigsten Quantoren in regulären Ausdrücken sind:

  • Das “+” bedeutet mindestens einmal, aber dann beliebig häufig (also einmal oder öfter)
  • Der “*” steht für eine beliebig häufige Wiederholung. Und das bedeutet bei regulären Ausdrücken auch, dass der Token gar nicht vorkommen muss (also 0-mal, oder öfter)
  • Das “?” bedeutet gar nicht oder *genau ein mal *(also 0-mal oder genau einmal).

Wenn du mit diesen Quantoren nicht auskommst, kannst du die Häufigkeit auch in geschwungenen Klammern angeben:

  • {1,5} bedeutet mindestens einmal, aber maximal 5-mal.
  • {2,} bedeutet mindestens zweimal, aber dann beliebig häufig
  • {2} bedeutet genau zweimal.

Somit bedeuten die Quantoren in unserem regulären Ausdruck:

.*\/blog\/(tutorial|how-to)[a-z0-9-_]+$

Am Anfang der URL dürfen gar keine oder beliebig viele Zeichen vorkommen. Das entsteht durch die Zeichenklasse “.”, die für ein beliebiges Zeichen steht und den nachfolgenden “*”-Quantor.

Der “+”-Quantor nach der Zeichenklasse [a-z0-9-_]bedeutet, das das Zeichen der Zeichenklasse mindestens einmal vorkommen muss und dann beliebig oft vorkommen darf.

Anker

In den meisten Analyse-Tools wird ein regulärer Ausdruck wie ein enthält behandelt. Eine Ausnahme stellt Google Analytics 4 dar.

Und um genau das zu verhindern und anzugeben, ob der Reguläre Ausdruck auf die vollständige URL oder den Anfang oder das Ende der URL passen muss, verwenden man Anker. Ich habe den Anker in unserem Beispiel-RegEx markiert:

.*\/blog\/(tutorial|how-to)[a-z0-9-_]+$

Es gibt zwei Anker-Tokens für reguläre Ausdrücke:

  • Das “^” bedeutet, dass der reguläre Ausdruck am Anfang des Vergleichstextes wie einer URL matchen muss
  • Das “$” bedeutet, dass der reguläre Ausdruck am Ende des Vergleichtexes wie einer URL matchen muss.

Da wir in unserem Beispiel nur den “$”-Anker verwendet haben bedeutet das, dass der reguläre Ausdruck auf das Ende der URL match muss.

Operatoren und Gruppen

Wir wollen mit unserem regulären Ausdruck nur URLs finden, die nach dem Verzeichnis “/blog/” den Text “tutorial” oder “how-to” enthalten. Dafür verwenden wir eine Gruppe zusammen mit dem “oder”-Operator. Ich habe die Gruppe und den Operator in unserem Beispiel-RegEx markiert:

.*\/blog\/(tutorial|how-to)[a-z0-9-_]+$

Eine Gruppe ist immer in runden Klammern eingeschlossen. Sie kann eine Kombination aus Literalen, Zeichenklassen und Quantoren enthalten.

In unserem Fall besteht sie nur aus Literalen, nämlich “tutorial” und “how-to”. Zwischen diesen Literalen habe ich den “oder”-Operator platziert: den senkrechten Strich.

Bedeutung unsers Beispiel-RegEx

Hier ist noch einmal unser Beispiel-RegEx aus den letzten Kapiteln:

.*\/blog\/(tutorial|how-to)[a-z0-9-_]+$

Er bedeutet: Finde alle URLs in der Google Search Console mit folgenden Bedingungen:

  • Sie beginnen mit einer beliebigen langen Zeichenfolge. Das wird duch die Zeichenklasse “.” und den unmittelbar darauf folgenden “*”-Quantor ausgedrückt.
  • Dann folgt irgendwo in der URL das Unterverzeichnis “/blog/”. Damit die “/” korrekt berücksichtigt werden, müssen wir sie “escapen”
  • Nach dem Unterverzeichnis “/blog/” folgt entweder der Text “tutorial” oder der Text “how-to”.
  • Nach dem Text “tutorial” oder “how-to” folgen mindestens eines aber beliebig viele Zeichen aus dem Bereich “a-z”, den Ziffern “0-9”, einem “-” oder einem “_”. Das haben wir durch die Zeichenklasse gefolgt vom “+”-Quantor angegeben.
  • Unser regulärer Ausdruck muss am Ende der URL übereinstimmen. Dafür haben wir den “$”-Anker angegeben.

Somit findet unser regulärer Ausdruck als Filter in der Search Console URLs wie:

https://meinewebsite.com/blog/tutorial-lightroom-mobile
https://meinewebsite.com/blog/how-to-convert-photos-to-bw

Aber er findet beispielsweise folgende URLs nicht:

https://meinewebsite.com/blog/review-lightroom-mobile
https://meinewebsite.com/blog/lightroom-mobile-tutorial

Bei der ersten URL folgt nach dem Unterverzeichnis “blog” der Text “review”. Das ist aber nicht im RegEx angegeben. Sondern nur “tutorial” oder “how-to”. Im zweiten Beispiel steht der Text “tutorial” am Ende der URL. Nach dem Unterverzeichnis “/blog/” folgt somit der Text “lightroom”, den wir nicht im RegEx angegeben haben.

Reguläre Ausdrücke testen

Mit dem kostenlosen Tool regex101.com kannst du reguläre Ausdrücke ganz einfach testen. Versuche es einmal mit den Beispielen aus dem vorherigen Kapitel.

 

Reguläre Ausdrücke testen mit Regex101.com

 

So verwendest du regex101.com um reguläre Ausdrücke zu testen:

  1. Wähle in der Seitenleiste dzunächst en Standard PCRE2 aus
  2. Gib in der Eingabeleiste ganz oben deinen regulären Ausdruck ein; z.B. den RegEx, den ich in diesem Tutorial verwendet habe
  3. Gib im großen Textfeld darunter einen Text ein, auf den der RegEx angwandt werden soll Das können etwa die Beispiel-URLs aus dem vorherigen Kapitel sein..

Passt der reguläre Ausdruck auf eine URL, wird die entsprechende Zeile farblich hervorgehoben. Da die letzten beiden Zeilen nicht hervorgehoben sind, passt (“matcht”) der reguläre Ausdruck darauf nicht.

Das Tool regex101.com verwende ich auch in den Lektionen meines Kurses reguläre Ausdrücke für Marketer auf Udemy.

Beispiele zur Anwendung von regulären Ausdrücken

Reguläre Ausdrücke zum Filtern von Daten kannst du in so gut wie allen Marketing-Tools verwenden. In diesem Kapitle sehen wir uns einige Beispiele dafür an.

RegEx zum Filtern von Berichten in der Google Search Console

Ich betreibe eine Reisefotoblog mit dem Namen “no camera bag”. Menschen die danach suchen, verwenden verschiedene Schreibweisen wie etwa:

  • nocamerabag (ganz ohne Leerzeichen)
  • no camera bag (mit einem Leerzeichen zwischen allen Wörtern)
  • no camerabag (mit einem Leerzeichen nach dem “no”)

Um diese Suchanfragen zu finden, müsste man einen klassischen “enthält” Filter dreimal anwenden. Mit einem regulären Ausdruck geht das viel leichter.

Die drei Schreibweisen unterscheiden sich dadurch, dass die Menschen an bestimmten Stellen manchmal Leerzeichen machen oder auch nicht. Für das Leerzeichen verwenden wir die Perl-Zeichenklasse “\s”. Da das Leerzeichen entweder gar nicht oder genau einmal vorkommen kann, verwenden wir dafür den “?”-Quantor.

Somit lautet der reguläre Ausdruck:

no\s?camera\s?bag

Dieser reguläre Ausdruck würde alle Suchanfragne finden, in denen die unterschiedlichen Schreibweisen vorkommen, also etwa auch “no camerabag ireland photos”.

Wir möchten aber nur die exakten Suchanfragen nach der Marke ohne weitere Elemente. Daher ergänzen wir den Regex um die Anker-Tokens. Der Regex lautet somit:

^no\s?camera\s?bag$

Der reguläre Ausdruck bedeutet, dass die Search Console nur diese Suchanfragen anzeigen soll:

  • Sie beginnen mit dem Text “no”. Das “beginnen” haben wir durch den Anker Token “^” ausgedrückt.
  • Danach kann entweder kein oder genau ein Leerzeichen folgen. Das drücken wir durch die Perl-Zeichenklasse “\s” gefolgt durch den “?”-Quantor aus.
  • Danach folgt der Text “camera”
  • Nach dem Text camera folgt wieder kein oder genau ein Leerzeichen
  • Danach folgt der Text “bag” am Ende der Suchanfrage

Einen solchen regulären Ausdruck gibst du in der Search Console ein, in dem du oben in der Filterleiste auf “+ Filter hinzufügen” klickst.

 

RegEx für Brand Suchanfragen in der Search Console

 

Wähle dann im Menü den Befehl “Suchanfrage”. Daraufhin erscheint ein Pop-up Fenster.

Wähle nun im Pop-up Fenster die Option “Benutzerdefiniert (Regex)” und dann darunter die Option “Stimmt mit dem Regex überein”. Gib im Textfeld darunter den regulären Ausdruck ein und klicke auf “Anwenden”.

Siehst du kein Ergebnis, prüfe bitte, ob der reguläre Ausdruck korrekt ist und ob du den RegEx für das richtige Feld angegeben hast; etwa für Suchanfragen und nicht für Seiten.

Reguläre Ausdrücke im SEO-Tool Screaming Frog verwenden

Im Screaming Frog kannst du reguläre Ausdrücke an vielen Stellen verwenden. Etwa um Daten in einem Bericht zu Filtern oder um Segmente zu erstellen

Bericht mit RegEx filtern

Um einen regulären Ausdruck im Screaming Frog als Filter zu verwenden, klicke bitte im Hauptfenster rechts oben auf das “Einstellungen”-Symbol im Suchfenster.

 

RegEx zum Filtern von Berichten im Screaming Frog

 

Daraufhin erscheint ein Pop-up. Definiere in diesem Pop-up in der ersten Spalte das Berichtsfeld für den Filter, etwa die “Adresse”. Wähle in der zweiten Drop-down Liste die Option “entspricht RegEx” und gib den regulären Ausdruck im dritten Eingabefeld ein.

Klickst du dann rechts unten im Pop-up auf “Anwenden”, wird der Bericht gemäß des regulären Ausdrucks gefiltert. Im oben Beispiel habe ich das mit dem RegEx dieses Tutorials gemacht.

Segmente mit regulären Ausdrücken erstellen

Reguläre Ausdrücke kannst du im Screaming Frog zum Erstellen von Segmenten verwenden. Gehe dazu bitte in die Konfiguationsbereich für Segmente in der Crawl-Konfiguration.

 

Segmente im Screaming Frog mit regulären Ausdrücken erstellen

 

Hier habe ich ein Segment mit dem Namen “Blog Posts” mit einem regulären Ausdruck für die Adresse definiert. Damit kann ich in allen Berichten die gefundenen URLs nach Blog-Posts segmentieren und somit nur die URLs von Blog Posts analysieren.

Reguläre Ausdrücke in GA4 verwenden

In Google Analytics 4 kannst du reguläre Ausdrücke an verschiedenen Stellen verwenden. Etwa um Berichte zu filtern.

GA4 unterscheidet sich etwas von vielen anderen Analyse Tools. So darfst du in GA Slashes nicht escapen und reguläre Ausdrücke werden standardmäßig mit dem ganzen Feld verglichen, also nicht nur wie bei einem “enthält”.

Um einen Bericht mit einem RegEx zu Filtern, klicke bitte unterhalb des Berichtstitels auf “Filer hinzufügen”. Daraufhin öffnet sich eine Seitenleiste.

 

RegEx zum Filtern von Daten in GA4 verwenden

 

Wähle in der Seitenleiste die Dimension, auf die du den regulären Ausdruck anwenden möchtest. In der Drop-down Liste darunter klicke bitte auf “stimmt überein mit RegEx” und gib dann im Eingabefeld darunter den regulären Ausdruck ein. Beachte dabei bitte die vorher erwähnten besonderheiten.

Klickst du dann rechts unten auf “Anwenden”, wir der Filter mit dem regulären Ausdruck in GA4 angewandt.

Zusammenfassung

Reguläre Ausdrücke sind ein mächtiges Werkzeug, um Daten in Analye-Tools effektiv und effizient zu filtern. Daher rate ich jedem, sich Grundwissen über regulären Ausdrücken anzueigenen. Zum Lernen von regulären Ausdrücken eignet sich das kostenlose Tool unter regex101.com hervorragend.

Das verwende ich auch in meinemOnline-Kurs zu regulären Ausdrücken auf Udemy.

Christian Feichtner

Ich unterstütze bei der Optimierung deiner Website für Mensch und Maschine. Mit modernem SEO und effektiver Web-Analyse.

Zurück
Zurück

14 SEO-Tools, mit denen ich effektiv und kostengünstig arbeite

Weiter
Weiter

Was ist Google E-E-A-T und E-E-A-T Analyse am praktischen Beispiel