Reguläre Ausdrücke (UNIX-Syntax) Ich habe gesucht - und nichts übersichtlicheres und gut beschriebenes gefunden als den u.a. Link auf Wikipedia. http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck
Hier eine Auflistung einiger gängiger Regulärer Ausdrücke
Symbol |
Funktion |
\
|
Weist das nächste Zeichen als Sonderzeichen aus. "n" steht für den Buchstaben "n", " " für einen Zeilenvorschub bzw. das NewLine-Zeichen. |
^ |
Steht für den Zeilenanfang. |
$ |
Steht für das Zeilenende. |
* |
Steht für das beliebig häufige Auftreten (auch kein Mal) des vorangehenden Zeichens. |
+ |
Steht für das ein- oder mehrmalige Auftreten des vorangehenden Zeichens. |
. |
Steht für ein beliebiges Zeichen außer einem Zeilenwechsel. |
(Ausdruck) |
Klammert einen im "Ersetzen"-Befehl zu verwendenden Ausdruck. Ein regulärer Ausdruck kann sich aus bis zu 9 geklammerten Ausdrücken zusammensetzen, die gemäß der Reihenfolge ihres Auftretens im regulären Ausdruck durchnummeriert sind. |
[xyz] |
Eine Zeichenmenge. Steht für ein beliebiges Zeichen in den Klammern. |
[^xyz] |
Eine inverse Zeichenmenge. Steht für ein beliebiges Zeichen, das NICHT in den Klammern steht. |
\d |
Steht für eine Ziffer. Entspricht [0-9]. |
\D |
Steht für ein Zeichen, das keine Ziffer ist. Entspricht [^0-9]. |
\f |
Steht für einen Blattvorschub bzw. ein FormFeed-Zeichen. |
\n |
Steht für einen Zeilenvorschub bzw. ein NewLine-Zeichen. |
\r |
Steht für einen Wagenrücklauf bzw. ein Return-Zeichen. |
\s |
Steht für einen beliebigen Leerraum, einschließlich Leerzeichen, Tabulator, Seitenvorschub usw. (aber nicht Zeilenwechsel). |
\S |
Steht für einen beliebigen Nicht-Leerraum (aber nicht Zeilenwechsel). |
\t |
Steht für ein Tabulator-Zeichen. |
\V |
Steht für ein vertikales Tabulator-Zeichen. |
\w |
Steht für ein beliebiges Zeichen für Wörter, einschließlich dem Unterstrich. |
\W |
Steht für ein beliebiges Zeichen, das nicht für Wörter verwendet wird. |
Einige Beispiele:
Im Stopp-Wort-Editor sollen alle Formen von abgebaut (abgebauten, abgebautes,...) festgelegt werden:
abgebaut[a-z]*
Im Idiom-Editor soll festgelegt werden, dass das Stop-Wort of in alle Vorkommnisse von Library of ... erhalten bleiben soll:
[Ll]ibrary [Oo]f [A-Z,a-z]*
Ein "und" soll dann nicht als Stoppwort behandelt werden, wenn davor ein Wort mit Bindestrich steht - z.B. aus "Hinweise für die einzelfallbezogene Erfassung von Verdachtsflächen rüstungs- und kriegsbedingter Altlasten." soll "Verdachtsflächen rüstungs- und kriegsbedingter Altlasten" heraus gelöst werden.
RICHTIG: \s[a-zäöüß0-9-]*\- und [a-zäöüß0-9-]*\s
FALSCH: \s[a-z, ä, ö, ü, 0-9, ß, \-]*\- und [a-z, ä, ö, ü, 0-9, ß, \-]*\s (bildet ganze Absätze)
es ginge auch mit "\s\w*\- und \w*\s", allerdings kommt es zu einer Zeichentrennung innerhalb eines Wortes, wenn Umlaute vorhanden sind.
noch besser:
\s[a-zäöüß0-9-]*\- (und|and) [a-zäöüß0-9-]*\s
|