Anhang D. Reguläre Ausdrücke
Die regulären Ausdrücke (kurz: RegEx), die in Suchvorgängen und Segmentierungsregeln verwendet werden, basieren auf die RegEx-Funktionalität von Java. Sollten Sie genauere Informationen benötigen, schauen Sie sich die Java-RegEx-Dokumentation an. Weitere Referenzen und Beispiele finden Sie unten.
Anmerkung
Dieses Kapitel richtet sich an fortgeschrittene Benutzer, die ihre eigenen Varianten von Segmentierungsregeln definieren oder komplexere und wirkungsvollere Schlüsselsuchbegriffe erarbeiten müssen.
Tabelle D.1. RegEx - Flags
Das Konstrukt |
... bewirkt Folgendes: |
(?i) |
Deaktiviert die Unterscheidung zwischen Groß- und Kleinschreibung (standardmäßig ist sie aktiviert). |
Tabelle D.2. RegEx - Zeichen
Das Konstrukt |
... entspricht dem Folgenden: |
x |
Das Zeichen x |
\uhhhh |
Das Zeichen mit dem hexadezimalen Wert 0xhhhh |
\t |
Das Tabulatorzeichen ('\u0009') |
\n |
Das Zeilenvorschubzeichen ('\u000A') |
\r |
Das Wagenrücklaufzeichen ('\u000D') |
\f |
Das Seitenvorschubzeichen ('\u000C') |
\a |
Das Tonsignalsteuerzeichen ('\u0007') |
\e |
Das Escapezeichen ('\u001B') |
\cx |
Das Steuerzeichen entsprechend x |
\0n |
Das Zeichen mit dem Oktalwert 0n (0 <= n <= 7) |
\0nn |
Das Zeichen mit dem Oktalwert 0nn (0 <= n <= 7) |
\0mnn |
Das Zeichen mit dem Oktalwert 0mnn (0 <= m <= 3, 0 <= n <= 7) |
\xhh |
Das Zeichen mit dem hexadezimalen Wert 0xhh |
Tabelle D.3. RegEx - Escapen
Das Konstrukt |
... bewirkt Folgendes: |
\ |
Behandelt das nächste Zeichen als normales Zeichen. Dies ist erforderlich, wenn Sie eines der Metazeichen !$()*+.<>?[\]^{|} suchen wollen. |
\\ |
Ein normaler umgekehrter Schrägstrich |
\Q |
Behandelt alle nachfolgenden Zeichen bis zu einem \E als normale Zeichen |
\E |
Beendet die normale Behandlung von Zeichen, welche via \Q gestartet wurde |
Tabelle D.4. RegEx - Klassen für die Unicode-Blöcke und Kategorien
Das Konstrukt |
... findet Folgendes: |
\p{InGreek} |
Ein Zeichen im griechischen Block (einfacher Block) |
\p{Lu} |
Ein Großbuchstabe (einfache Kategorie) |
\p{Sc} |
Ein Währungssymbol |
\P{InGreek} |
Beliebiges Zeichen außer eines vom griechischen Block (Negation) |
[\p{L}&&[^\p{Lu}]] |
Beliebiger Buchstabe außer Großbuchstabe (Subtraktion) |
Tabelle D.5. RegEx - Zeichenklassen
Das Konstrukt |
... findet Folgendes: |
[abc] |
a, b, oder c (einfache Klasse) |
[^abc] |
Beliebiges Zeichen außer a, b, oder c (Negation) |
[a-zA-Z] |
a bis z oder A bis Z (Bereich) |
Tabelle D.6. RegEx - Vordefinierte Zeichenklassen
Das Konstrukt |
... findet Folgendes: |
. |
Beliebiges Zeichen (außer Zeilenendzeichen) |
\d |
Eine Ziffer: [0-9] |
\d |
Eine Nicht-Ziffer: [^0-9] |
\s |
Ein Leerraumzeichen: [ \t\n\x0B\f\r] |
\S |
Ein Nicht-Leerraumzeichen: [^\s] |
\w |
Ein Wortzeichen: [a-zA-Z_0-9] |
\W |
Ein Nicht-Wortzeichen: [^\w] |
Tabelle D.7. RegEx - Abgrenzungsplatzhalter
Das Konstrukt |
... findet Folgendes: |
^ |
Der Anfang einer Zeile |
$ |
Das Ende einer Zeile |
\b |
Eine Wortgrenze |
\B |
Eine Nicht-Wortgrenze |
Tabelle D.8. RegEx - Greedy-Quantoren
Das Konstrukt |
... findet Folgendes: |
X
?
|
0 oder 1 Vorkommen von X |
X
*
|
0 oder mehr Vorkommen von X |
X
+
|
0 oder 1 Vorkommen von X |
Anmerkung
Greedy-Quantoren versuchen, so viele Zeichen wie möglich einzubeziehen, um eine Übereinstimmung zu finden. Zum Beispiel wird
a+
die Zeichenkette aaa in
aaabbb
finden.
Tabelle D.9. RegEx - Ungreedy-Quantoren
Das Konstrukt |
... findet Folgendes: |
X?? |
0 oder 1 Vorkommen von X |
X*? |
0 oder mehr Vorkommen von X |
X+? |
0 oder 1 Vorkommen von X |
Anmerkung
Ungreedy-Quantoren versuchen, so wenig Zeichen wie möglich einzubeziehen, um eine Übereinstimmung zu finden. Zum Beispiel wird
a+?
das erste
a
in
aaabbb
finden.
Tabelle D.10. RegEx - Logische Operatoren
Das Konstrukt |
... findet Folgendes: |
XY |
X gefolgt von Y |
X|Y |
Entweder X oder Y |
(XY) |
XY als einzelne Gruppe |