InfoCenter

Reguläre Ausdrücke

In Programmen wie dem Text Konverter können Sie bestimmte Aufgaben mit Hilfe von regulären Ausdrücken durchführen, was die Möglichkeiten der Anwendung derartiger Programme um ein vielfaches vergrößert. Um mit regulären Ausdrücken arbeiten zu können, benötigt man allerdings die Kenntnis einiger Grundlagen, die auf dieser Seite zusammen gefasst sind.

Eingeteilt ist die Zusammenstellung in die folgenden Abschnitte, zu denen Sie direkt springen können:

Was ist ein regulärer Ausdruck?

Die Anwendung eines regulären Ausdrucks entspricht einer Suche, die allgemeiner sein kann als eine normale Suche. Sucht man beispielsweise nach "A" in einem normalen Text, so kann man alle Stellen finden, an denen exakt das "A" vorkommt. Was aber wenn man alle Stellen finden möchte, die einen Großbuchstaben aufweisen? Nun müsste man nach "A", nach "B", nach "C" und so weiter suchen. Oder man benutzt reguläre Ausdrücke. Der kurze reguläre Ausdruck [A-Z] entspricht der Suche nach jedem Einzelbuchstaben. Das geht beliebig präzise. Es lässt sich nach einem beliebigen Datum, einer beliebigen E-Mail Adresse oder was auch immer suchen. Wie das geht erfahren Sie in dieser Zusammenstellung. Anwendungsbereiche liegen beispielsweise in Text Bearbeitungsprogrammen wie dem Text Konverter, wo es möglich ist derartig gefundene Texte zu löschen, zu ersetzen oder mit den Texten weiter zu arbeiten, um beispielsweise das Format eines Datums zu ändern oder jede E-Mail Adresse eines Textes in einen Link zu verwandeln. Eine normale Suche müsste hier sämtliche Möglichkeiten kennen, was schier unmöglich ist.

Grundlagen

In dieser Tabelle finden Sie die wichtigsten Konventionen und Zeichen sowie deren Bedeutungen. Die 11 Zeichen [](){}|?+-*^$\ und . sind Metazeichen und haben innerhalb von regulären Ausdrücken eine besondere Bedeutung, die in den folgenden Abschnitten erklärt werden. Wollen Sie diese Zeichen als Zeichen verwenden, muss in der Regel ein \ vorangestellt werden, um die Bedeutung als Metazeichen aufzuheben. Alle anderen Zeichen können in der Regel als solches verwendet werden.

Regulärer AusdruckBedeutung und Beispiel
a Der reguläre Ausdruck "a" findet auch "a". So lange ein Zeichen kein Metazeichen ist und keine andere besondere Bedeutung hat, kann es direkt im regulären Ausdruck verwendet werden.
Beispiel: abc defg abcdefgbafcgbde 0123456789
[abc] Mit eckigen Klammern wird eine Zeichenauswahl definiert. Das Beispiel findet eines der Zeichen a, b oder c.
Beispiel: abc defg abcdefgbafcgbde 0123456789
[a-f]Bindestriche definieren einen bestimmten Bereich. Das Beispiel findet die Zeichen a, b, c, d, e und f. Auch hier muss nur eines der Zeichen zutreffen.
Beispiel: abc defg abcdefgbafcgbde 0123456789
[0-9]Der Bindestrich lässt sich auch auf Zahlen anwenden. Das Beispiel steht für die Ziffern 0 bis 9.
Beispiel: abc defg abcdefgbafcgbde 0123456789
[A-Z0-9abc] Innerhalb einer Zeichenauswahl können auch mehrere Gruppen und Einzelzeichen stehen. Im Beispiel entspricht die Zeichenauswahl den Großbuchstaben A bis Z, den Ziffern 0 bis 9 sowie die Buchstaben a, b und c.
Beispiel: abc defg abcdefgbafcgbde 0123456789 -&
[^a]Durch das Zeichen ^ am Anfang einer Zeichenauswahl wird die Zeichenauswahl negiert. Das bedeutet dass diese Auswahl ein beliebiges Zeichen finden würde außer das Zeichen a.
Beispiel: abc defg abcdefgbafcgbde 0123456789
^aSteht das Metazeichen ^ nicht innerhalb einer Zeichenauswahl, steht es für den Anfang einer Zeichenfolge oder Zeile. Gefunden würden also alle Zeichenfolgen oder Zeilen, die mit einem a beginnen.
Beispiel: abc defg abcdefgbafcgbde 0123456789
a$So wie das Metazeichen ^ für den Anfang einer Zeichenkette oder Zeile steht, so steht das Zeichen $ für deren Ende. Gefunden würden also alle Zeichenfolgen, die mit einem a enden.
Beispiel: abc defg abcdefgbafcgbde 0123456789a
^abc$ Hier werden die Zeichen ^ und $ zusammen angewendet. Gefunden werden alle Zeilen oder Zeichenfolgen, die genau der Zeichenfolge "abc" entsprechen.
Beispiel 1: abc
Beispiel 2: abc abc
\b Steht für eine Position am Beginn oder am Ende eines Wortes.
\BSteht für eine Position, die sich nicht am Beginn oder am Ende eines Wortes befindet.
\babc\bFindet das alleinstehende Wort "abc", aber nicht die Zeichen "abc" wenn Sie sich innerhalb eines Wortes befinden.
Beispiel: abc abcde abc deabcde deabc abc
\babc Findet alle "abc" am Anfang eines Wortes.
Beispiel: abc abcde abc deabcde deabc abc
abc\b Findet alle "abc" am Ende eines Wortes.
Beispiel: abc abcde abc deabcde deabc abc
\Babc\BFindet alle Worte, die "abc" enthalten, aber nicht mit "abc" beginnen oder enden.
Beispiel: abc abcde abc deabcde deabc abc
abc\B Findet alle Worte, die "abc" enthalten aber nicht damit enden.
Beispiel: abc abcde abc deabcde deabc abc
ABC|abc Das Zeichen | steht für eine Alternative. Gefunden wird "ABC" oder "abc".
Beispiel: abcde ABCDE fgabcde FGABCDE
[a\-f]Durch das vorangestellte Zeichen \ wird die Bedeutung des nachfolgenden Metazeichens aufgehoben. In diesem Fall würde das Zeichen - nicht eine Auswahl repräsentieren sondern als selbstständiges Zeichen auftauchen. Mit anderen Worten entspricht diese Zeichenauswahl den Zeichen a, f und -. Mit \ lassen sich so auch Metazeichen als eigenes Zeichen zu einer Zeichenauswahl hinzufügen.
Beispiel: abcdefg abcdefgh -
1\+1=2Dieser reguläre Ausdruck findet die Zeichenkette 1+1=2. Wieder wurde das Metazeichen + durch das Zeichen / aufgehoben.
Beispiel: 1+1=2 1\+1=2
[-af]Wenn Metazeichen innerhalb einer Zeichenauswahl stehen, an denen sie keine Bedeutung haben, werden Sie auch als normales Zeichen interpretiert. Im Beispiel würde die Auswahl die Zeichen -, a und f finden.
Beispiel: abcdefg abcdefgh -
[af-]Das selbe gilt auch für den Fall, dass das Metazeichen hinten steht.
Beispiel: abcdefg abcdefgh -
ab[cd]Hier wurde eine Zeichenklasse mit "ab" kombiniert. Gefunden würden die Worte "abc" und "abd".
Beispiel: abcdef abdef cdabcd cdabdc
.Der Punkt steht für ein beliebiges Zeichen, jedes Zeichen würde gefunden. Ob dies auch Zeilensprünge mit einschließt hängt vom gewählten Modifikator (siehe unten) ab.
Beispiel: abc defg abcdefgbafcgbde 0123456789 -&
.abDieser reguläre Ausdruck findet alle Zeichenketten mit drei Zeichen, von denen die letzten beiden Zeichen a und b sind. Also zum beispiel Aab, aab, eab, %ab, @ab und so weiter.
Beispiel: abc dfgabc &ab fgxab
[^a]ab Findet alle Zeichenketten, die auch der reguläre Ausdruck ".ab" findet mit der Ausnahme von aab.
Beispiel: aab cab dd dab fg &ab

Wenn Sie die vorgestellten regulären Ausdrücke auf dieser Seite nachempfinden und ausprobieren möchte, können Sie dies mit dem Programm Text Konverter machen. Öffnen Sie darin eine beliebige Textdatei und klicken Sie in der rechten Spalte auf Suchen und Ersetzen und aktivieren Sie "Reguläre Ausdrücke im Suchen Feld". Schon können Sie beliebige reguläre Ausdrücke in die Box eingeben und mit deren Wirkung experimentieren.

Wiederholungen

Zum Beschreiben von Situationen in denen sich einzelne Buchstaben oder ganze Zeichenklassen wiederholen gibt es eine Reihe von Metazeichen, die im folgenden vorgestellt werden.

Regulärer AusdruckBedeutung und Beispiel
ab{2} Der voranstehende Ausdruck muss exakt zwei Mal vorkommen. Gefunden würde also ausschließlich "abb". Da das a nicht mit dem b durch eine Klammer verbunden wurde, bezieht sich der Ausdruck nur auf das b.
Beispiel: a ab abb babb abbb abbbb babbbbbbbbbbd
ab{2,3} Der voranstehende Ausdruck muss mindestens zwei Mal und maximal drei Mal vorkommen. Gefunden würde also abb und abbb, nicht aber ab oder abbbbb.
Beispiel: a ab abb babb abbb abbbb babbbbbbbbbbd
ab{2,}Der voranstehende Ausdruck muss mindestens zwei Mal vorkommen. Gefunden würde also abb, abbb, abbbb, abbbbbb und so weiter.
Beispiel: a ab abb babb abbb abbbb babbbbbbbbbbd
ab{,3} Der voranstehende Ausdruck darf maximal drei Mal vorkommen. Gefunden würde also abb und abbb, aber nicht abbbbb.
Beispiel: a ab abb babb abbb abbbb babbbbbbbbbbd
ab?Das Fragezeichen bedeutet, dass das voranstehende Zeichen optional ist. Das bedeutet, er kann vorkommen, muss es aber nicht. Das Beispiel würde a und ab finden. Das Fragezeichen entspricht dem Ausdruck {0,1}.
Beispiel: a ab abb babb abbb abbbb babbbbbbbbbbd
ab+Das Plus bedeutet, dass das voranstehende Zeichen mindestens einmal, aber auch mehrfach vorkommen darf. Das Beispiel würde daher ab, abb, abbb und so weiter finden. Das Plus entspricht dem Ausdruck {1,}.
Beispiel: a ab abb babb abbb abbbb babbbbbbbbbbd
ab*Das Zeichen * bedeutet, dass das vorangehende Zeichen beliebig oft, aber auch keinmal vorkommen darf. Es entspricht daher dem Ausdruck {0,}.
Beispiel: a ab abb babb abbb abbbb babbbbbbbbbbd
[ab]+ Dieses Beispiel findet Zeichenketten wie a, b, ab, ba, abb, ababa und so weiter. Es bedeutet nicht, dass sich das gleiche Zeichen wiederholen muss. Soll dies der Fall sein, müssen Sie Rückwärtsreferenzen benutzen. Der reguläre Ausdruck wäre dann ([ab])\1+ und wird weiter unten erklärt.
Beispiel: a ab abb babb abbb abbbb babbbbbbbbbbd
a[bc]+dDieser Ausdruck findet Zeichenketten wie abd, acd, abcd, acbd, abccbd, acbcbcbd und so weiter.
Beispiel: abcd aad acbd fg abbccbbcd fg abd fg acd
[0-9]{2,3} Auch in diesem Beispiel müssen sich die Zahlen nicht gleichen. Gefunden werden alle Zahlen mit zwei oder drei Stellen, also die Zahlen von 10 bis 999, nicht aber zahlen wie 1,3.
Beispiel: 1,4 10 89 ab3a ab42a 234

Zeichenklassen

Neben der selbst definierten Zeichenauswahl in eckigen Klammern gibt es einige vordefinierte Zeichenklassen, die die regulären Ausdrücke kürzer und übersichtlicher machen können.

Regulärer AusdruckBedeutung und Beispiel
\dDieser Ausdruck steht für eine Ziffer (Digit), ist also gleichbedeutend mit [0-9].
Beispiel: abc defg abcdefgbafcgbde 0123456789 -&
\DDieser Ausdruck steht für ein Zeichen, das keine Ziffer ist. Es entspräche also [^0-9] oder [^\d].
Beispiel: abc defg abcdefgbafcgbde 0123456789 -&
\wDieser Ausdruck (Word) steht für einen Buchstaben, eine Ziffer oder einen Unterstrich. Daher entspricht \w der Zeichenklasse [A-Za-z0-9_].
Beispiel: abc defg abcdefgbafcgbde 0123456789 -&
\WEntspricht einem Zeichen, das kein Buchstabe, keine Ziffer und kein Unterstrich ist. Es entspricht also der Zeichenklasse [^\w] oder [^A-Za-z0-9_].
Beispiel: abc defg abcdefgbafcgbde 0123456789 -&
\sDieser Ausdruck steht für Whitespace (Space), also Leerzeichen, Tabs, Zeichensprünge und so weiter.
\SDieser Ausdruck steht für alle Zeichen, die kein Whitespace sind, also für [^\s].

Gruppieren und Rückwärtsreferenzen

Mit den runden Klammern können Sie einige Zeichen gruppieren, um zum Beispiel einen Operator auf all die enthaltenen Zeichen anzuwenden. Außerdem werden die Zeichen aus dieser Gruppe gespeichert und können entweder im selben Ausdruck oder beim Suchen und Ersetzen auch im Ersetzen-Ausdruck wiederverwendet werden. Die Beispiele zeigen einige der Möglichkeiten und Anwendungen auf, die Sie am Besten in einem Programm wie dem Text Konverter nachempfinden sollten.

Regulärer AusdruckBedeutung und Beispiel
(ab)+ Die gesamte Gruppe "ab" wird wiederholt, gefunden werden eine oder mehr Wiederholungen von "ab".
Beispiel: abcde ababcde ababababa
ab(cd|ef|gh)i Innerhalb der Klammer werden einige Alternativen angeboten. Gefunden werden also die Zeichenketten "abcdi", "abefi" und "abghi" aber keine anderen Zeichenketten.
Beispiel: abcdifg abcdefghi abghi
([ab])\1+ Hier wird die Rückwärtsreferenz \1 benutzt. Jede Klammer erzeugt eine solche, die 1 bezieht sich auf die erste Klammer. Der Ausdruck bedeutet, dass der gefundene Buchstabe aus der Gruppe [ab] anschließend einmal oder mehrfach wiederholt werden muss. Es werden also "aa", "bb", "aaa", "bbb" und so weiter gefunden.
Beispiel: aaaacd efbbbbbbbbghab
([ab])x\1x\1 Die Referenz darf auch mehrfach verwendet werden. Dieser Ausdruck findet "axaxa" und "bxbxb".
Beispiel: axaxa axax bxbxb axbxa
([ab])x(c)x\1x\2 In diesem Ausdruck werden zwei Referenzen \1 und \2, die sich auf die beiden Klammern beziehen verwendet. Gefunden werden also "axcxaxc" und "bxcxbxc".
Beispiel: axcxaxc axax bxcxbxc axbxa
([ab])x(c)x\2x\2 Nicht jede durch eine Klammer entstehende Referenz muss auch benutzt werden. Hier wird nur die zweite Referenz benutzt.
Beispiel: axcxcxc axax bxcxcxc axbxa
(\d+\.)(\d+\.) Referenzen können nicht nur innerhalb eines Ausdrucks verwendet werden. Im Text Konverter können Sie auch nach einem regulären Ausdruck suchen und in den Ersetzungen die Referenzen mit $1, $2 und so weiter verwenden. Wenn Sie im Suchen Feld das Beispiel eingeben und im Ersetzen Feld den Ausdruck "$2$1" wird dadurch das gefundene Datum wie im Beispiel gezeigt umgedreht. Beachten Sie vorher die regulären Ausdrücke für die Boxen unter der Box zu aktivieren.
Beispiel: "11.04." wird ersetzt durch "04.11."
\ba\b\s\b([aoeiu][a-z]+)\b Mit diesem regulären Ausdruck finden Sie alle Einzelworte "a" gefolgt von einem Leerzeichen und einem anderen Wort das mit einem a, o, e, i oder u beginnt. Im Englischen muss vor derartigen Worten nicht "a" sondern "an" verwendet werden. Ersetzen Sie den Ausdruck mit dem regulären Ausdruck "an $1" im Text Konverter, so werden die Fehler korrigiert.
Beispiel: "a idea" wird ersetzt durch "an idea"

Modifikatoren

Das Verhalten der regulären Ausdrücke lässt sich durch Modifikatoren (Englisch Modifiers) verändern. Generell können Sie das Verhalten im Text Konverter in den Einstellungen im Menü "Einstellungen > Einstellungen für reguläre Ausdrücke (RegEx)" verändern. Es ist aber auch möglich für jeden Ausdruck andere Modifikatoren anzuwenden oder sogar Modifikatoren nur auf Teile eines Ausdrucks anzuwenden. Wie das geht erfahren Sie im zweiten Teil dieses Abschnitts. Folgende Modifikatoren können im Text Konverter geändert werden:

  • Modifikator i (Case Insensitive): Ist dieser Modifikator aktiviert, wird unabhängig von Groß- und Kleinschreibung gesucht. Das bedeutet dass der RegEx Ausdruck [a-z] entweder wirklich nur alle Kleinbuchstaben findet (Modifikator i ist nicht aktiv) oder sowohl alle Klein- als auch alle Großbuchstaben findet (Modifikator i ist aktiv).
  • Modifikator m (Multi Line): Ist dieser Modifikator aktiviert, wird die gesamte Datei als bestehend aus verschiedenen Zeilen angesehen, was bedeutet dass ^ und $ den Anfang und das Ende jeder Zeile finden. Ist der Modifikator deaktiviert, finden ^ und $ den Anfang und das Ende der gesamten Datei.
  • Modifikator s (Single Line): Behandelt eine Zeichenkette als eine Zeile. Ist dieser Modifikator aktiviert, findet der Punkt . alle Zeichen, einschließlich Leerzeichen. Wenn dieser Modifikator nicht aktiv ist, ist dem nicht so.
  • Modifikator g (Greedy Mode): Dieser Modifikator verändert alle Ausdrücke wie + und *, die für Wiederholungen stehen. Ist der Modifikator aktiv, verhalten sich all diese Ausdrücke normal. Ist der Modifikator nicht aktiv, werden die regulären Ausdrücke nicht greedy angewendet. Das bedeutet das + würde als +?, das * als *? und so weiter interpretiert.
  • Modifikator x (Extended Syntax): Ist dieser Modifikator aktiv, können Sie in Ihren regulären Ausdrücken Whitespace (zum Beispiel Leerzeichen) verwenden und Kommentare hinzuzfügen (in einer Zeile nach einem # wird alles als Kommentar behandelt). Dadurch werden die regulären Ausdrücke lesbarer, Sie müssen aber Leerzeichen mit einem \ versehen, wenn es nicht in einer Zeichenauswahl steht.

Soll ein Modifikator nur für einen regulären Ausdruck gelten oder sogar nur für einen Teil eines Ausdrucks, können Sie die folgenden Schreibweisen verwenden, um die Modifikatoren zu ändern. Jeder Modifikator wird dabei durch deren Buchstaben, also i, m, s, g oder x beschrieben.

Regulärer AusdruckBedeutung und Beispiel
(?i)[abc] So schalten Sie einen Modifikator an, in diesem Beispiel den Modifikator i für Unabhängigkeit von Groß- und Kleinschreibung.
Beispiel: abcdef ABCDEF
(?i)[a](?-i)[cd] Mit (?-i) wird ein Modifikator ausgeschaltet. Im Beispiel wird der zunächst i eingeschaltet, es werden a und A gleichermaßen gefunden. Danach wird der i ausgeschaltet, c und d müssen daher klein geschrieben sein.
Beispiel: ac Ac AC ad Ad AD
((?i)[a])[cd] Auch mit einer Klammer können Sie das selbe Ergebnis erzielen. Vorrausetzung für das Beispiel ist natürlich, dass i generell ausgeschaltet ist.
Beispiel: ac Ac AC ad Ad AD
(?ig-msx)[abc] Wenn Sie mehrere Modifikatoren gleichzeitig ein- oder abschalten möchten, können Sie das auch innerhalb einer Klammer tun. Genauso denkbar wäre es nur ein paar Modifikatoren einzuschlalten, zum Beispiel mit (?ims) oder einige abzuschalten, also zum Beispiel mit (?-ims).

Unicode

Eine Frage, die sich oft stellt, ist die Frage danach, wie sich reguläre Ausdrücke und beliebige Unicode Zeichen verhalten, also beispielsweise chinesische Zeichen oder Zeichen aus dem kyrillischen oder griechischen Alphabet. Ursprünglich wurden reguläre Ausdrücke nur für ANSI Zeichen verwendet und viele Programme, die reguläre Ausdrücke unterstützen, unterstützen auch nur die ANSI Zeichen. Anders ist dies allerdings im hier vorgestellten Text Konverter. Im Text Konverter können Sie auch beliebige Unicode Zeichen genauso verwenden, wie Sie es von den ANSI Zeichen gewohnt sind. Die folgenden Beispiele zeigen wie es geht und wie Sie ansonsten Zeichen auswählen können.

Regulärer AusdruckBedeutung und Beispiel
[Д-И] Im Text Konverter benutzen Sie Unicode Zeichen genauso wie ASCII Zeichen. Im Beispiel wird der Bereich von Д bis И aus dem kyrillischen Alphabet in einer Zeichenauswahl benutzt.
Beispiel: АБВГДЕЖЗИКЛ
Beliebige Sonderzeichen können Sie auf diese Weise verwenden. Hier das Zeichen für Unendlich.
Beispiel:
\x{221E} Alternativ kann aber auch statt dem Sonderzeichen der HEX-Unicode-Code angegeben werden. Dieser ist 221E für das Unendlich Zeichen und wird notiert wie im Beispiel.
Beispiel:
\x41 Auch im ASCII Bereich kann der HEX Code statt dem Zeichen notiert werden. Dies eignet sich beispielsweise besonders bei Zeichen wie Tabs oder Steuerzeichen, die nicht direkt geschrieben werden können. Im Beispiel wird der HEX Code für den Buchstaben A (Code 41) gezeigt. Eine Tabelle der HEX Codes erhalten Sie in dieser ASCII Tabelle.
Beispiel: ABC ABCABC
[\x{0001}-\x{221E}] Die so mit HEX Code definierten Zeichen können genauso verwendet werden, wie jedes andere Zeichen. Im Beispiel wird eine Gruppe von Zeichen definiert die alle Zeichen einschließt, deren Unicode HEX-Code unter dem Code des Unendlich Zeichens liegt. Dies beinhaltet lateinische, griechische und kyrillische aber keine japanischen Zeichen.
Beispiel: ABCGHJΔΨΩБВГДЕЖカモヤモ

Beispiele

Mit den auf dieser Seite gewonnenen Kenntnissen können Sie beliebige reguläre Ausdrücke selber schreiben, in dem Sie die genannten Regeln beliebig miteinander kombinieren. Als Beispiel soll der folgende reguläre Ausdruck auseinander genommen werden, der dazu verwendet werden kann eine beliebige E-Mail Adresse aus einem Text zu finden:

\b[a-zA-Z0-9._+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\b

Wie man im regulären Ausruck erkennen kann ist dieser zunächst durch \b eingerahmt, was bedeutet, dass sich die E-Mail Adresse als ein eigenständiges Wort innerhalb des Textes befinden muss. Eine E-Mail folgt der Struktur name@domain.domainendung. Wie man sieht befindet sich das @ vor einer Zeichengruppe [], die mindestens eines (+) der in ihr enthaltenen Zeichen enthalten muss. Diese Zeichengruppe entspricht dem element "name" in der E-Mail Adresse. Nach dem @ stehen zwei weitere Zeichengruppen, die durch einen Punkt getrennt werden. Da der Punkt ein Metazeichen ist, wurde er durch \ zu einem normalen Zeichen gemacht. Die Zeichengruppe für die Domain darf beliebig viele, aber mindestens eins der Zeichen enthalten (+), die Zeichengruppe für die Domainendung muss mindestens 2 aber höchstens 4 Zeichen enthalten. Dies wird mit {2,4} hinter der Zeichengruppe bestimmt.

Mit dem regulären Ausdruck im Beispiel finden Sie E-Mail Adressen im Text. Wie aber können Sie mit dem regulären Ausdruck arbeiten? Zum Beispiel in einem Programm wie dem Text Konverter. Hier können Sie im Bereich "Ersetzen von Text" unter den Boxen die Option "als regulären Ausdruck interpretieren" auswählen und direkt mit regulären Ausdrücken suchen und ersetzen. Wenn Sie unser Beispiel verwenden, können Sie dort einen Text eingeben, mit dem die gefundene Adresse im Text ersetzt werden soll. Auch hier kann ein regulärer Ausdruck verwendet werden. Benutzen Sie zum Beispiel folgenden reguläre Ausdrücke:

Suchen nach: (\b[a-zA-Z0-9._+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\b)
Ersetzen durch: <a href="mailto:$1">$1</a>

Damit wird die gefunde E-Mail Adresse als Link verknüpft. Allerdings muss der Ausdruck im Suchen-Feld vorher noch mit einer runden Klammer eingefasst werden. Nur wenn der Text mit Klammern eingefasst wurde, kann er mit $1 im Ersetzen-Feld wieder benutzt werden. Die Klammern können dabei beliebige Bereiche des Suchterms umfassen, was wieder andere Anwendungsbereiche zulässt. Nehmen wir zum Beispiel folgende Kombination:

Suchen nach: .*(\b[a-zA-Z0-9._+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\b).*
Ersetzen durch: $1

Damit wird nach einer E-Mail Adresse gesucht, die beliebige andere Zeichen (.*) um sich herum haben kann. Gefunden wird also der gesamte Text inklusive der E-Mail Adresse. Dieser wird aber nun ersetzt nur durch den Bereich innerhalb der Klammern, also nur die E-Mail Adresse. Damit extrahieren Sie eine E-Mail Adresse aus einem Text.

Wenn Sie mehr als eine Klammer in Ihrem Suchmuster verwenden, können Sie die verschiedenen Bereiche mit $1, $2, $3 und so weiter ansprechen und wieder verwenden. Ein Beispiel:

Suchen nach: (.*)suchen(.*)
Ersetzen durch: $1ersetzen$2

Hier wird sowohl nach dem Text gesucht, der vor dem Wort "suchen" steht als auch der Text, der nach dem Wort erscheint. Alles wird dann ersetzt mit dem gefunden Text vor und dem gefunden Text nach dem Wort und das Wort "ersetzen" wird dazwischen geschrieben. Was dieser reguläre Ausdruck macht, hätte man auch einfacher machen können. Der Ausdruck ersetzt einfach nur das Wort "suchen" duch "ersetzen". Wenn Sie diesen Ausdruck aber etwas abändern, lassen sich beispielsweise verschiedene Schreibweisen eines Wortes abdecken oder andere, viel komplizierte Suchmuster erstellen.

Software für reguläre Ausdrücke

Wenn Sie mit den hier vorgestellten regulären Ausdrücken an Textdateien arbeiten möchten, können Sie dafür das Programm Text Konverter benutzen. Der Text Konverter ermöglicht es Textdateien nach regulären Ausdrücken zu durchsuchen, die regulären Ausdrücke durch Text oder andere Ausdrücke zu ersetzen, die gefundenen Texte zu löschen oder Textdateien an einem regulären Ausdruck zu trennen und als Einzeldatei abzuspeichern. Natürlich ist es mit diesem Programm auch möglich die gefundenen Ausdrücke an einer anderen Stelle wieder zu verwenden (Rückwärtsreferenzen, Backreferences). Ein weiteres Programm ist der Easy MP3 Player, bei dem Sie Ihre Musiksammlung mit Hilfe von regulären Ausdrücken durchsuchen können, was eine dementsprechend präzise Suche ermöglicht.

  • Text Konverter (Suchen, Ersetzen und Löschen von Text mit Hilfe von regulären Ausdrücken, Rückwärtsreferenzen und Dateien splitten)
  • Easy MP3 Player (Durchsuchen Ihrer Musiksammlung mit regulären Ausdrücken)
  • Clipboard Saver (Suchen und Ersetzen in der Zwischenablage mit regulären Ausdrücken)

Wichtiger Hinweis

Diese Text über reguläre Ausdrücke wurde von Stefan Trost geschrieben und darf ohne vorherige Zustimmung von Stefan Trost nicht (auch nicht in Auszügen) in einem anderen Kontext verwendet werden.