Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Ohne einen oder-Operator müsste man hier zwei Suchanfragen formulierenformulieren, was in diesem Beispiel noch durchaus möglich wäre. Nun müssen wir aber auch damit rechnen, dass mit der Transkription der Audiodateien mehrere übermüdete studentische Hilfskräfte beschäftigt waren. Von diesen ließen einige eine Leerstelle auf das Apostroph folgen, andere nicht. Dies bewirkt, dass wir sogar 4 Suchanfragen starten müssten, könnten wir unsere Unsicherheit nicht durch ein ? ausdrücken. Meine dadurch auf c'_?est pas auf ce n'_?est pas reduzierbare Ausdrücke ließen sich umschreiben als: SUCHE (c' gefolgt von einem Leerzeichen ODER nicht, gefolgt von einem est pas) UND SUCHE (ce gefolgt von einem n', gefolgt von einem Leerzeichen ODER nicht, gefolgt von einem est pas). Die beiden Suchanfragen können aber auch zusammengefasst werden unter: SUCHE (c gefolgt von ((' gefolgt von (einem Leerzeichen ODER nichts))  ODER (e gefolgt von einem Leerzeichen)), gefolgt von ((n' gefolgt von (einem Leerzeichen ODER nichts)) ODER nichts), gefolgt von est pas). Hä was? Die Schritt-für-Schritt-Anleitung folgt später.

Einige der bekannten Metazeichen stellen eine Möglichkeit dar, ein "oder" zum Ausdruck zu bringen. So sucht fatt[oa] zum Beispiel nach der dem Wortsegment fatt gefolgt von einem o ODER einem a. Schwieriger wird es, will man ein ODER zwischen zwei unterschiedliche Zeichenfolgen setzen. Nehmen wir an, wir bräuchten einen Ausdruck, der sowohl mit fame als auch mit faro matcht. Wir könnten zu diesem Zweck fa[mr][eo] verwenden, allerdings würden wir Gefahr laufen, auch fare (und famo) in unser Ergebnis einzuschließen. Um dies zu vermeiden, brauchen wir ein paar in diesem Manual noch nicht eingeführte Metazeichen:

...

Die beiden Teilausdrücke lassen sich nun mithilfe des oder-Operators verbinden und in c()est pas einfügen: c((e_n'(|_))|('(|_)))est pas


Info
iconfalse
titleAn die Hand

Bei der Formulierung komplexerer regulärer Ausdruck mit oder-Operatoren und Gruppierungsklammern muss bedacht werden:

  • Ein senkrechter Strich setzt die sich links von ihm befindende Zeichenkette mit der sich rechts von ihm befindende in eine oder-Relation. Sind keine Klammern gesetzt, so wird der gesamte Ausdruck einbezogen.
  • Um die Reichweite des oder-Operators einzuschränken, muss er mit den entsprechenden Zeichenketten (links und rechts) in runde Klammern gesetzt werden. Der oder-Operator reicht in dem Fall von der äußersten öffnenden (nicht links von ihm schließenden) Klammer links von ihm bis zur äußersten schließenden (nicht rechts von ihm öffnenden) Klammer rechts von ihm.
  • Mithilfe der Klammern lässt sich präzise definieren, was in Alternative wozu steht.
  • Eine Alternative kann auch kein einziges Zeichen enthalten.

Die Ersetzfunktion

Die Klammern erweisen sich als überaus hilfreich, arbeitet man mit der Ersetzfunktion eines Texteditors (Die Funktion "Ersetzen" befindet sich meist irgendwo in der Nähe der Funktion Suchen "Suchen". Bei Notepad/ Textpad sind beide unter dem Menüpunkt "Suchen"/ "Search" gelistet). Diese Funktion ist insofern sinnvoll, als dass sie die Möglichkeit eröffnet, Textdaten und ihm zugrundeliegende Muster aktiv zu manipulieren.

...

Dies funktioniert folgendermaßen. Der Ausdruck ross([oaie]) sucht nach einer Zeichenfolge, auf die das Muster ross[oaie] passt, trifft zuerst auf rossa und setzt \1 mit a gleich. Nun wird rossa durch giall gefolgt von \1 (also a) ersetzt. Der Ausdruck sucht nun nach dem nächsten Match, z.B. rossi. Auch hier wird i mit \1 gleichgesetzt, bevor rossi durch giall\1 ersetzt wird. Was hier verdeutlicht werden soll, ist, dass der Backslash mit der Kennzahl keinen Platzhalter übernehmen, sondern das jeweils konkrete Zeichen. Dies liegt darin, dass die Ersetzen-Funktion einen konkreten Output generiert. Die meisten Metazeichen wie Positionsmarker und Platzhalter sind in der "Ersetze durch"-Zeile folglich nicht zulässig und werden als konkrete Zeichen interpretiert. Erlaubt sind hingegen neben den bereits präsentierten Verweisen mithilfe von Kennzahlen auch Metazeichen für einige Steuerzeichen, d.h. Zeichen, die vorhanden, aber nicht sichtbar sind. Dazu zählen u.a. die Shorthand-Expressions:

Ausdruck in Ersetzen-ZeileErgebnis
\nFügt eine neue Zeile ein
\tFügt einen Tabulator ein

Keine Idee für Anwendungsmöglichkeiten? Eventuell erfordern Tools, so wie das Annotationstool TreeTagger, dass Texte in einer bestimmten Form vorliegen. Bei TreeTagger entpräche dies der Formatierung ein Wort pro Zeile. Eine solche Form könnte zum Beispiel hergestellt werden, indem alle Leerstellen (_) durch \n ersetzt werden.