OmegaT 4.2 - Benutzerhandbuch

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

RegEx-Tools und Anwendungsbeispiele

Zum Entwickeln und Testen von regulären Ausdrücken stehen mehrere interaktive Tools zur Verfügung. Sie folgen in der Regel immer dem gleichen Muster (ein Beispiel dafür ist der Regular Expression Tester unten): Der reguläre Ausdruck (oberes Eingabefeld) analysiert den Suchtext (mittleres Eingabefeld) und zeigt die Treffer im Ergebnisfeld an.

Abbildung D.1. RegEx Tester
RegEx Tester

Unter The RegEx Coach finden Sie die Windows-, Linux- und FreeBSD-Versionen eines eigenständigen Tools. Dieses Tool entspricht in etwa dem obigen Beispiel.

Eine interessante Sammlung von nützlichen RegEx-Beispielen finden Sie in OmegaT selbst (siehe Optionen > Segmentierung). Die folgende Liste enthält Ausdrücke, die beim Durchsuchen des Translation Memory nützlich sein können:

Tabelle D.11. RegEx - Beispiele für reguläre Ausdrücke in Übersetzungen
Regulärer Ausdruck ... findet Folgendes:
(\b\w+\b)\s\1\b Wortwiederholungen
[\.,]\s*[\.,]+ Komma oder ein Punkt, gefolgt von null oder mehr Leerraumzeichen und einem weiteren Komma oder Punkt
\. \s+$ zusätzliche Leerraumzeichen nach dem Punkt am Zeilenende
\s+a\s+[aeiou] Englische Sprache: Wörter, die mit Vokalen beginnen, sollten generell mit "an" und nicht mit "a" eingeleitet werden
\s+an\s+[^aeiou] Englische Sprache: Die gleiche Überprüfung wie oben, aber in Bezug auf Konsonanten ("a", nicht "an")
\s{2,} mehr als ein Leerraumzeichen
\.[A-Z] Punkt, gefolgt von einem Großbuchstaben - eventuell fehlt ein Leerzeichen zwischen Punkt und Satzanfang?
\bis\b Englische Sprache: Nach "is" suchen, nicht nach "this" oder "isn't" usw.