Archiv
Kategorie

Regular Expressions

Im zweiten Teil der Reihe, “Reguläre Ausdrücke in Google Analytics und Urchin“, haben Sie erfahren, wie Sie Quantifizierung, Gruppierung und Alternative einsetzen. Dabei wurde auch die Verwendung der Metazeichen Fragezeichen, Pluszeichen, Asterisk sowie runde und geschweifte Klammern erläutert.

In diesem letzten Teil zeige ich Ihnen, wie Sie gezielt nach Zeichenketten am Anfang oder am Ende einer Zeile bzw. eines Feldes suchen können und wie Sie Abkürzungen richtig einsetzen. Außerdem gehe ich noch auf das Metazeichen für Whitespaces ein.

Zeilen- bzw. Feldanfang

Metazeichen bei regulären Ausdrücken: CaretSoll sich die gesuchte Zeichenkette am Anfang einer Zeile oder eines Feldes befinden, wird dies durch das Voranstellen eines Carets (^) definiert.

Beispiel:

Der folgende reguläre Ausdruck

^4 Jahreszeiten – .*

entspricht somit den Zeichenketten

4 Jahreszeiten – Pizza für 4,99

4 Jahreszeiten – bestes Hotel

aber nicht den Zeichenketten

Pizza für 4,99 – 4 Jahreszeiten

Bestes Hotel – 4 Jahreszeiten

Warum? Der reguläre Ausdruck setzt voraus, dass die gesuchte Zeichenkette am Anfang der Zeile stehen muss.

Zeilen- bzw. Feldende

Metazeichen bei regulären Ausdrücken: DollarSoll sich die gesuchte Zeichenkette am Ende einer Zeile oder eines Feldes befinden, wird dies durch das Anhängen eines Dollarzeichens ($) definiert

Beispiel:

Der folgende reguläre Ausdruck

.* – 4 Jahreszeiten$

entspricht somit den Zeichenketten

Pizza für 4,99 – 4 Jahreszeiten

Bestes Hotel – 4 Jahreszeiten

aber nicht den Zeichenketten

4 Jahreszeiten – Pizza für 4,99

4 Jahreszeiten – bestes Hotel

Warum? Der reguläre Ausdruck setzt voraus, dass die gesuchte Zeichenkette am Ende der Zeile stehen muss.

Abkürzungen

Abkürzungen haben den Sinn und Zweck, Ihnen die Arbeit mit regulären Ausdrücken möglichst einfach zu machen.

Ziffern

Metazeichen bei regulären Ausdrücken: Backslash und 'd'Die Ziffern 0 bis 9 können mittels des Metazeichens \d gesucht und gefunden werden. Dabei wird beim Einsatz von \d immer nur einer einzelnen, beliebigen Ziffer entsprochen. \d entspricht der Verwendung des regulären Ausdrucks [0-9].

Durch die Verwendung von \D werden hingegen alle Zeichen gesucht und gefunden, die keine Ziffern sind. \D entspricht der Verwendung des regulären Ausdrucks [^0-9].

Beispiel 1:

Der folgende reguläre Ausdruck

\d% Zinsen

entspricht somit unter anderem den Zeichenketten

3% Zinsen

7% Zinsen

8% Zinsen

aber nicht den Zeichenketten

% Zinsen

12% Zinsen

v% Zinsen

Warum? Der reguläre Ausdruck setzt voraus, dass in der Zeichenkette eine einzelne Ziffer unmittelbar vor dem Prozentzeichen vorkommen muss.

Beispiel 2:

Der folgende reguläre Ausdruck

\D% Zinsen

entspricht somit unter anderem den Zeichenketten

v% Zinsen

,% Zinsen

_% Zinsen

aber nicht den Zeichenketten

% Zinsen

1% Zinsen

3% Zinsen

Warum? Der reguläre Ausdruck setzt voraus, dass in der Zeichenkette ein beliebiges, nicht numerisches Zeichen unmittelbar vor dem Prozentzeichen stehen muss.

Alphanumerische Zeichen

Metazeichen bei regulären Ausdrücken: Backslash und 'w'Sämtliche Buchstaben und Ziffern sowie der Unterstrich können mittels des Metazeichens \w gesucht und gefunden werden. Dabei wird beim Einsatz von \w immer nur einem einzelnen, beliebigen Zeichen entsprochen. \w entspricht somit der Verwendung des regulären Ausdrucks [A-Za-z0-9_].

Durch die Verwendung von \W werden hingegen alle Zeichen gesucht und gefunden, die nicht den alphanumerischen Zeichen oder dem Unterstrich entsprechen. \W entspricht somit der Verwendung des regulären Ausdrucks [^A-Za-z0-9_].

Beispiel 1:

Der folgende reguläre Ausdruck

\w% Zinsen

entspricht somit unter anderem den Zeichenketten

3% Zinsen

x% Zinsen

_% Zinsen

aber nicht den Zeichenketten

% Zinsen

!% Zinsen

-% Zinsen

Warum? Der reguläre Ausdruck setzt voraus, dass in der Zeichenkette ein einzelnes alphanumerisches Zeichen oder ein Unterstrich unmittelbar vor dem Prozentzeichen stehen muss.

Beispiel 2:

Der folgende reguläre Ausdruck

\W% Zinsen

entspricht somit unter anderem den Zeichenketten

!% Zinsen

,% Zinsen

% Zinsen

aber nicht den Zeichenketten

% Zinsen

x% Zinsen

3% Zinsen

Warum? Der reguläre Ausdruck setzt voraus, dass in der Zeichenkette ein beliebiges, nicht einem alphanumerischen Zeichen oder Unterstrich entsprechendes Zeichen unmittelbar vor dem Prozentzeichen stehen muss.

Whitespaces

Metazeichen bei regulären Ausdrücken: Backslash und 's'Unter Whitespaces werden sämtliche, nicht sichtbaren Zwischenräume in einer Zeichenkette verstanden. Dazu zählen Leerschritte (Leertaste), Tabulatoren, Zeilenumbrüche, etc. Diese nicht sichtbaren Zeichen können mittels des Metazeichens \s gesucht und gefunden werden. Dabei wird beim Einsatz von \s immer nur einem einzelnen, beliebigen Whitespace entsprochen.

Durch die Verwendung von \S werden hingegen alle Zeichen gesucht und gefunden, die nicht einem Whitespace entsprechen.

Beispiel:

Der folgende reguläre Ausdruck

§1\sVertragsgegenstand

entspricht somit unter anderem den Zeichenketten

§1 Vertragsgegenstand  (Leerschritt)

§1  Vertragsgegenstand (Tabulator)

Fazit

Sie haben in den drei Teilen erfahren, wie Sie mit regulären Ausdrücken umgehen. Dieses Wissen können Sie nun anwenden, um Daten in Google Analytics bzw. Urchin Software zu finden, herauszufiltern oder anzuzeigen. Abschließend ein paar Beispiele aus der Praxis:

Google Analytics

Reguläre Ausdrücke in Google Analytics - FilterReguläre Ausdrücke in Google Analytics - ZieldefinitionReguläre Ausdrücke in Google Analytics - Anzeigefilter

Urchin Software

Reguläre Ausdrücke in Urchin - ZieledefinitionReguläre Ausdrücke in Urchin - FilterReguläre Ausdrücke in Urchin - Anzeigefilter

Im ersten Teil der Reihe, “Reguläre Ausdrücke in Google Analytics und Urchin“, habe ich Ihnen einen kurzen Überblick über die in Google Analytics und Urchin verwendbaren regulären Ausdrücke gegeben. Dabei wurde auch die Verwendung der Metazeichen Punkt, Backslash, Bindestrich und eckige Klammern erläutert.

In diesem Teil zeige ich Ihnen, wie Sie die Quantifizierung, Gruppierung und Alternative einsetzen.

Quantifizierung

Um nun nicht immer wieder das Metazeichen für eine Suche wiederholt eingeben zu müssen, finden Sie bei den regulären Ausdrücken Funktionen zur Quantifizierung.

Metazeichen bei regulären Ausdrücken: Das FragezeichenFragezeichen

Das Fragezeichen entspricht der Anzahl 0 oder 1 des unmittelbar davor stehenden Zeichens.

Beispiel:

Der folgende reguläre Ausdruck

17und4?

entspricht somit unter anderem den Zeichenketten

17und

17und4

aber nicht den Zeichenketten

17und5

17undA

Warum? Der reguläre Ausdruck setzt voraus, dass in der Zeichenkette die Ziffer 4, die unmittelbar vor dem Fragezeichen steht, einmal oder gar nicht vorkommen darf.

Metazeichen bei regulären Ausdrücken: Das PluszeichenPluszeichen

Das Pluszeichen entspricht der Anzahl 1 oder mehr des davor stehenden Zeichens.

Beispiel:

Der folgende reguläre Ausdruck

17und4+

entspricht somit unter anderem den Zeichenketten

17und4

17und44

17und444

aber nicht den Zeichenketten

17und

17unda4

Warum? Der reguläre Ausdruck setzt voraus, dass in der Zeichenkette die Ziffer 4, die unmittelbar vor dem Pluszeichen steht, einmal oder mehrmals vorkommen muss.

Metazeichen bei regulären Ausdrücken: Der AsteriskAsterisk

Der Asterisk entspricht der Anzahl 0, 1 oder mehr des davor stehenden Zeichens.

Beispiel:

Der folgende reguläre Ausdruck

17und4*

entspricht somit unter anderem den Zeichenketten

17und

17und4

17und44

17und444

Warum? Der reguläre Ausdruck setzt voraus, dass in der Zeichenkette die Ziffer 4, die unmittelbar vor dem Asterisk steht, gar nicht, einmal oder mehrmals vorkommen darf.

Wiederholung

Metazeichen bei regulären Ausdrücken: Die geschweiften KlammernUm nun nicht immer wieder das Metazeichen für eine Suche wiederholt eingeben zu müssen, finden Sie bei den regulären Ausdrücken Funktionen zur Wiederholung. Diese werden mit der Syntax {minimum,maximum(opt.)} deklariert.

Beispiel 1:

Der folgende reguläre Ausdruck

17und4{2}

entspricht somit ausschließlich der Zeichenkette

17und44

aber nicht den Zeichenketten

17und

17und4

17und444

17unda4

Warum? Der reguläre Ausdruck setzt voraus, dass in der Zeichenkette die Ziffer 4, die unmittelbar vor der öffnenden geschweiften Klammer steht, exakt zweimal vorkommen muss.

Beispiel 2:

Der folgende reguläre Ausdruck

17und4{1,3}

entspricht somit ausschließlich den Zeichenketten

17und4

17und44

17und444

aber nicht den Zeichenketten

17und

17und4444

17unda4

Warum? Der reguläre Ausdruck setzt voraus, dass in der Zeichenkette die Ziffer 4, die unmittelbar vor der öffnenden geschweiften Klammer steht, mindestens einmal und höchstens dreimal vorkommen darf.

Gruppierung

Metazeichen bei regulären Ausdrücken: Die runden KlammernUm eine gefundene Zeichenkette für die spätere Verwendung zwischenspeichern zu können, finden Sie bei den regulären Ausdrücken die Funktion zur Gruppierung. Diese findet durch die Verwendung von runden Klammern statt.

Beispiel:

Der folgende reguläre Ausdruck

([gG]oogle, inc\.)

entspricht somit den Zeichenketten

google, inc.

Google, inc.

und würde das Suchergebnis zwischen den runden Klammern für die spätere Verwendung zwischenspeichern.

Alternative

Eine sehr hilfreiche Funktion innerhalb der regulären Ausdrücke ist die sogenannte Alternative. Die Syntax besteht aus dem Trennen mehrerer Alternativwerte durch ein Pipe-Symbol (|) und ist ganz einfach: wert1|wert2|wert3. Das würde dann bedeuten: Finde wert1 oder wert2 oder wert3.

Beispiel:

Der folgende reguläre Ausdruck

[gG]oogle, inc\.|[yY]ahoo, inc\.

entspricht somit den Zeichenketten

google, inc.

Google, inc.

yahoo, inc.

Yahoo, inc.

aber nicht den Zeichenketten

bing, inc.

Bing, inc.

Warum? Der reguläre Ausdruck setzt voraus, dass in der Zeichenkette die Zeichenfolge “Google, inc.” oder “Yahoo, inc.” enthalten sein muss. “Bing, inc.” Ist keine Option. Dabei spielt es keine Rolle, ob der erst Buchstabe groß oder klein geschrieben wird.

Fortsetzung folgt…

Sie haben nun erfahren, wie Sie Quantifizierung, Gruppierung und Alternative einsetzen. Im dritten Teil dieser Reihe zeige ich Ihnen, wie Sie gezielt nach Zeichenketten am Anfang oder am Ende einer Zeile bzw. eines Feldes suchen können und welchen Vorteil Sie durch den Einsatz von Abkürzungen erfahren.

Eventuell sind Ihnen die wenigen unter Microsoft Windows oder DOS verfügbaren Wildcards (* ? %) bekannt, mit deren Hilfe eingeschränkte Datei- bzw. SQL-Operationen durchgeführt werden können. Die sich hieraus ergebenden Möglichkeiten sind jedoch recht gering und erfordern weit mehr Flexibilität, wenn es darum geht, komplexe Datenbestände zu durchsuchen.

Aus diesem Grund nutzen Google Analytics und Urchin reguläre Ausdrücke. Damit werden auch umfangreiche Datenentsprechungen gefunden und ermöglichend zudem, gewünschte Aktionen auszuführen. Reguläre Ausdrücke können in Google Analytics bzw. Urchin wie folgt verwendet werden:

  • Anzeigefilter (z.B. um die Daten in Berichten anzugleichen)
  • Filter (z.B. Ausschließen von IP-Adressbereichen)
  • Zieldefinitionen (z.B. um variable Zielseiten zu deklarieren)

Doch dazu später mehr. Denn in diesem ersten Teil will ich Ihnen zunächst einen Überblick über die Notwendigkeit von regulären Ausdrücken vermitteln, sowie Sie mit den ersten beiden oft verwendeten Metazeichen bekannt machen.

Überblick über reguläre Ausdrücke

Schauen Sie sich die folgende Tabelle einmal näher an. Sie werden bestimmt feststellen, dass es sich dabei um eine einfache Datenstruktur handelt.

Nr. Artikel Warengruppe Farbe Größe
1 T-Shirt T-Shirt, Männer grün XL
2 T-Shirt T-Shirt, Männer gelb L
3 T-Shirt T-Shirt, Frauen gelb-blau XL
4 T-Shirt T-Shirt, Frauen blau S
5 Sweatshirt Sweatshirt, Männer blau-rot M
6 Sweatshirt Sweatshirt, Frauen rot L

Wenn Sie also aus dieser Tabelle die Datensätze selektieren sollen, deren Farbangabe den Kriterien “gelb” und “gelb-blau” entspricht, reichen die o.g. Kenntnisse völlig aus; Sie würden vermutlich nach “gelb*” suchen und die Datensätze 2 und 3 als Ergebnis präsentiert bekommen.

Was nun aber, wenn die Aufgabestellung modifiziert wird und Sie alle Datensätze selektieren müssen, deren Farbangabe “gelb“, “rot” und “blau-rot” entspricht? Oder wenn zur Farbangabe noch die Größenangabe hinzukäme? Sie sehen, dieser Anforderung kann mit den vorgenannten Möglichkeiten nicht entsprochen werden.

Die Verwendung von regulären Ausdrücken (auch Regular Expressions oder RegEx genannt) ist nahezu unverzichtbar, wenn es darum geht aus großen Datenmengen bestimmte Entsprechungen herauszufinden.

Reguläre Ausdrücke dienen dazu, spezielle Zeichenketten in einer Menge von Zeichen bzw. Zeichenketten zu finden. Ein regulärer Ausdruck wird aus beliebigen Ziffern und Zeichen unter Berücksichtigung von Groß- und Kleinschreibung in Kombination mit folgenden Metazeichen gebildet:

Metazeichen Kurzbeschreibung
. Beliebiges, einzelnes Zeichen
\ Wird benötigt, um ein Metazeichen buchstäblich zu nutzen
[ ] Gruppe von Zeichen
Bereich (von-bis)
? + * Quantifizierung eines beliebigen Zeichens
{ } Wiederholung eines beliebigen Zeichens
( ) Gruppierung von Zeichen und Speicherung zur späteren Verwendung
| Deklaration alternativer Zeichenketten
^ Zeichen muss am Anfang stehen
$ Zeichen muss am Ende stehen
\d Abkürzung für Ziffern
\w Abkürzung für alphanumerische Zeichen bzw. Unterstrich
\s Abkürzung für Whitespaces

Alle anderen Zeichen weisen keine Meta-Eigenschaft auf. Die Eigenschaften und Auswirkungen der Verwendung von Metazeichen – auch in Google Analytics und Urchin – zeige ich Ihnen in den nächsten Abschnitten und Teilen dieser Serie.

Punkt

Metazeichen bei regulären Ausdrücken: Der PunktDer Punkt (.) ist eines der meistgenutzten Metazeichen und entspricht einem beliebigen, einzelnen Zeichen. Die Betonung liegt hier tatsächlich auf beliebig und einzeln, denn ganz gleich, welches Zeichen der Zeichenkette gefunden werden soll, durch den Punkt sind alle denkbaren Zeichen abgedeckt.

Beispiel:

Der folgende reguläre Ausdruck

Akt ., Szene 3

entspricht somit den Zeichenketten

Akt 1, Szene 3

Akt 2, Szene 3

Akt 3, Szene 3

Akt 4, Szene 3

Akt 5, Szene 3

Akt 6, Szene 3

Akt 7, Szene 3

Akt 8, Szene 3

Akt 9, Szene 3

nicht aber der Zeichenkette

Akt 10, Szene 3

Warum? Die Zeichen “10” stellen mehr als ein Zeichen dar. Sie erinnern sich? Die Betonung liegt bei der Verwendung des Metazeichens Punkt auf “einzelnes Zeichen“.

Um dieser Zeichenkette zu entsprechen, müsste der reguläre Ausdruck wie folgt modifiziert werden:

Akt .., Szene 3

Backslash

Metazeichen bei regulären Ausdrücken: Der BackslashDer Backslash (\) wird dazu verwendet, einem Metazeichen buchstäblich zu entsprechen.

Beispiel:

Der folgende reguläre Ausdruck

z.B. Blumen

entspricht somit der Zeichenkette

z.B. Blumen

aber auch den Zeichenketten

zUB. Blumen

z.B3 Blumen

z1Bg Blumen

Warum? Zur Erinnerung: Ein Punkt (.) entspricht einem beliebigen, einzelnen Zeichen. Um einem Punkt buchstäblich zu entsprechen, muss diesem somit ein Backslash (\)  vorangestellt werden.

Der folgende reguläre Ausdruck

z\.B\. Blumen

entspricht nun ausschließlich der Zeichenkette “z.B. Blumen”, da nach dem Punkt durch den vorangestellten Backslash buchstäblich gesucht wird.

Gruppen und Bereiche

Oftmals besteht die Notwendigkeit, nach verschiedenen Zeichen in einer Zeichenkette parallel zu suchen. So wäre in Bezug auf das Beispiel aus der Einführung denkbar, dass Sie die Datensätze der Größen S und M gleichzeitig suchen.

Um das zu realisieren, werden bei den regulären Ausdrücken die eckigen Klammern ([ ]) genutzt.

Gruppen

Metazeichen bei regulären Ausdrücken: Die eckigen KlammernAlle Zeichen, die innerhalb der eckigen Klammern stehen, werden an der jeweiligen Stelle gesucht und gefunden.

Beispiel:

Der folgende reguläre Ausdruck

[zZ]\.[bB]\. Blumen

entspricht somit den Zeichenketten

z.B. Blumen

Z.B. Blumen

z.b. Blumen

Z.b. Blumen

nicht aber den Zeichenketten

z.B. blumen

ZB Blumen

Warum? Der reguläre Ausdruck setzt zum einen voraus, dass in der Zeichenkette das Wort “Blumen” mit einem “B” als Großbuchstabe enthält und zum anderen nach “z” und “b” jeweils ein Punkt  steht.

Bereiche

Metazeichen bei regulären Ausdrücken: Der BindestrichDurch den Einsatz eines Bindestrichs () innerhalb der eckigen Klammern, können Sie Bereiche definieren, nach denen gesucht werden soll.

Beispiel:

Der folgende reguläre Ausdruck

Marktplatz [09]

entspricht somit unter anderem den Zeichenketten

Marktplatz 1

Marktplatz 5

Marktplatz 9

aber nicht den Zeichenketten

Marktplatz 37

Marktplatz A

Warum? Der reguläre Ausdruck setzt zum einen voraus, dass die Zeichenkette nur ein Zeichen der Ziffern zwischen 1 und 9 enthält und zum zweiten keine Buchstaben enthalten darf.

Gruppen und Bereiche invertieren

Durch den Einsatz des Caret (^) direkt nach der öffnenden eckigen Klammer werden die gesuchten Entsprechungen invertiert.

Der reguläre Ausdruck für eine Gruppe [^zZbB] entspricht allen Zeichen, die nicht ein z, Z, b oder B darstellen.

Ebenso verhält es sich mit Bereichen. Der reguläre Ausdruck [^09] entspricht allen Zeichen, die nicht 0, 1, 2, 3, 4, 5, 6, 7, 8 oder 9 darstellen.

Fortsetzung folgt…

In diesem ersten Teil haben Sie einen Überbick die in Google Analytics und Urchin verwendbaren regulären Ausdrücke erhalten. Ebenso haben Sie mehr über die Verwendung der Metazeichen Punkt, Backslash, Bindestrich und eckige Klammern erfahren. Im zweiten Teil dieser Reihe gehe ich auf die Möglichkeiten ein, die sich durch den Einsatz von Quantifizierung, Gruppierung und Alternative bieten.