Mustersyntax
Muster im Bounced Mail Framework (BMF) sind reguläre Java-Ausdrücke (Java RegEx).
Um Muster anlegen und verstehen zu können, müssen Sie die Syntax regulärer Ausdrücke in Java kennen.
Im Folgenden werden die Grundlagen für das Anlegen einfacher Muster beschrieben.

Weitere Informationen über reguläre Java-Ausdrücke finden Sie unter http://java.sun.com/docs/books/tutorial/essential/regex/.
Zeichen
Syntax |
Beschreibung |
x |
Zeichen x |
\\ |
linksseitiger Schrägstrich (\) |
\t |
Tabulator |
\n |
neue Zeile |
\. |
Punkt (.) |
Zeichenklassen
Syntax |
Beschreibung |
[abc] |
a, b oder c (einfache Klasse) |
[^abc] |
jedes beliebige Zeichen außer a, b oder c (Negation) |
[a-zA-Z] |
a bis z oder A bis Z einschließlich (Bereich) |

Das Muster[dms]ein entspricht den Wörtern dein, mein und sein.
Beachten Sie, dass dieses Muster keinen anderen Wörtern (wie z. B. rein) und auch nicht den groß geschriebenen Varianten (Dein, Mein, Sein) entspricht. Wenn Sie sowohl Klein- als auch Großschreibung abdecken möchten, müssen Sie das Muster [dDmMsS]ein verwenden.
Vordefinierte Zeichenklassen
Syntax |
Beschreibung |
. |
jedes beliebige Zeichen |
\d |
eine Ziffer (0-9) |
\D |
ein Zeichen, das keine Ziffer ist - d.h. alle Zeichen außer (0-9) |
\s |
ein Leerraum (z. B. Leerzeichen, Tab, neue Zeile) |
\S |
ein Zeichen, das kein Leerraum ist - alle Zeichen außer Leerräumen |
\w |
ein alphanumerisches Zeichen - alle Zeichen von a-z, A-Z, alle Ziffern und der Unterstrich(_) |
\W |
ein nicht-alphanumerisches Zeichen - ein Zeichen, das kein Buchstabe, keine Ziffer und kein Unterstrich ist |

Das Muster \w\w\w\ entspricht Zeichenfolgen mit drei Buchstaben, Ziffern oder dem Unterstrich, z. B. abc, SAP, A1b, 999 und 5r_.
Es entspricht nicht abcd (Länge ungleich 3) oder a c (wegen Leerraum).
„Gierige“ Quantoren
Syntax |
Beschreibung |
X? |
X, ein Mal oder überhaupt nicht |
X* |
X, null Mal oder öfter |
X+ |
X, ein Mal oder öfter |
X{n} |
X, genau n Mal |
X{n,} |
X, mindestens n Mal |
X{n,m} |
X, mindestens n, aber nicht mehr als m Mal |

Um solche „gierigen“ Quantoren zu benutzen, müssen Sie das X durch ein beliebiges Zeichen oder eine Zeichenklasse ersetzen.

Das Muster \w\w\w\ ist gleichwertig mit dem Muster \w{3}.
Sie können mehrere Muster in eine Zeile schreiben, wenn Sie sie durch Leerzeichen abtrennen.
Bei einem solchen zusammengesetzten Muster müssen alle Teilmuster berücksichtigt werden, um eine Entsprechung zu finden.

Das zusammengesetzte Muster \w+ \d+ entspricht 123, aber nicht abc.
Das zusammengesetzte Muster \w+ \W+ entspricht gar nichts.
In diesem Beispiel legen Sie ein Muster für das Abgleichen von Mail-Adressen an.
...
1. Nehmen wir folgendes Muster:
(\w+)@
Das w+ gibt an, dass ein oder mehrere Buchstaben, Ziffern oder der Unterstrich enthalten sein müssen. Danach muss das AT-Zeichen (@) stehen.
Die Klammern () sind nicht unbedingt erforderlich, teilen den Ausdruck jedoch in Gruppen ein. Dies kann hilfreich sein, wenn Sie einen logischen Teil des Musters ändern müssen.

Dieses Muster entspricht folgenden Beispielen:
mona@
hansbosch@
Jose_Rodriguez@
2. Erweitern Sie das Muster wie folgt:
(\w+)@(\w+\.)(\w+)
Die Gruppe (\w+\.) ist ähnlich, erwartet jedoch im Anschluss einen Punkt (.).
Damit der Punkt als solcher interpretiert werden kann, wird als Fluchtsymbol der linksseitige Schrägstrich (\) verwendet, denn sonst würde der Punkt einem beliebigen Zeichen entsprechen.
Die Gruppe (\w+) wurde bereits im vorigen Schritt erläutert.

Dieses Muster entspricht folgenden Beispielen:
mona@ihrefirma.org
hansbosch@firma.com
Jose_Rodriguez@isp.net
3. Erweitern Sie das Muster wie folgt:
(\w+)@(\w+\.)(\w+)(\.\w+)*
Die Gruppe (\.\w+) entspricht einem Punkt (.), gefolgt von einem oder mehreren Buchstaben, Ziffern oder dem Unterstrich.
Der Stern (*) gibt an, dass das vorhergehende Zeichen oder die vorhergehende Gruppe kein Mal oder öfter vorkommen kann.
Da die Klammern eine Gruppe () definieren und sich der Stern (*) auf die gesamte Gruppe bezieht, entspricht das Muster einem Punkt (.), gefolgt von einem oder mehreren Buchstaben, Ziffern oder dem Unterstrich, die kein Mal oder öfter vorkommen können.

Dieses Muster entspricht folgenden Beispielen:
mona@raum1.ihrefirma.org
hansbosch@management.firma.com
Jose_Rodriguez@server5.region3.my.isp.net
Dieses Muster entspricht keinen Adressen mit Punkt vor dem At-Zeichen (@) wie:
nina.smith@sap.com
4. Durch Anpassung dieses Musters können Sie beliebige E-Mail-Adressen abgleichen:
(\w+)(\.\w+)*@(\w+\.)(\w+)(\.\w+)*
Sie können das Muster ganz einfach ändern, um alle benötigten Adressen abzudecken.
Wenn das Muster z. B. allen E-Mail-Adressen der Domäne firma.de entsprechen soll, ändern Sie es wie folgt: