regular expression | NN 4 IE 4 ECMA 3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ein regular expression-Objekt ist eine Instanz des RegExp-Objekts. Jedes regular expression-Objekt besteht aus einem Muster, das verwendet wird, um innerhalb eines Strings nach Übereinstimmungen zu suchen. Bei den Mustern für einen regulären Ausdruck kann es sich um einfache Strings oder wesentlich komplexere Ausdrücke handeln, deren Schreibweise im Grunde genommen eine eigene Sprache ist. Die Implementierung von regulären Ausdrücken in JavaScript 1.2 ist der Implementierung in Perl sehr ähnlich. Weitere Informationen zu diesen Konzepten finden Sie in Veröffentlichungen zu JavaScript ab Version 1.2. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Zum Erstellen eines regular expression-Objekts setzen Sie das Muster in Vorwärtsschrägstriche und weisen den gesamten Ausdruck einer Variablen zu. Die folgende Anweisung erstellt beispielsweise einen regulären Ausdruck, dessen Muster ein einfaches Wort ist: var re = /greet/; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Die Variable re kann anschließend als Parameter in zahlreichen Methoden eingesetzt werden, die in einem String nach dem Muster suchen (Sie können einen Ausdruck auch direkt als Methodenparameter verwenden, anstatt ihn einer Variablen zuzuweisen). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Die Schreibweise regulärer Ausdrücke setzt sich aus einer Reihe von Metazeichen zusammen, die z. T. für komplexe Begriffe stehen, z. B. die Begrenzung auf einer Seite eines Wortes, eine beliebige Ziffer oder ein oder mehrere Zeichen. Falls Sie z. B. nur dann nach dem obigen Zeichenmuster suchen möchten, wenn es sich dabei um ein Wort handelt (und nicht um einen Wortteil, z. B. Begrüßungen), wird mithilfe von Metazeichen angegeben, dass das Muster auf beiden Seiten Wortgrenzen enthält: var re = /\bgreet\b/; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In der folgenden Tabelle finden Sie eine Übersicht über die in JavaScript 1.2 verwendete Schreibweise für reguläre Ausdrücke: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Einen regulären Ausdruck können Sie optional als globalen Ausdruck erstellen (empfehlenswert, wenn der reguläre Ausdruck einen Suchen/Ersetzen-Vorgang innerhalb einer Methode ausführt, wobei alle Ergebnisse automatisch ersetzt werden sollen), bei dem die Groß-/Kleinschreibung in den Übereinstimmungen ignoriert wird. Die Modifikatoren, die diese Schalter aktivieren, sind die Buchstaben g und i. Sie können einzeln oder kombiniert als gi verwendet werden. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nachdem Sie ein Muster mit der Schreibweise für reguläre Ausdrücke erstellt haben, erfolgen alle Vorgänge in den Methoden des regular expression-Objekts und den Methoden des String-Objekts, die reguläre Ausdrücke als Parameter unterstützen. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Eigenschaften | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Methoden | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Creating a regular expression Object | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
var regExpressionObj = /pattern/ [g | i | gi]; var regExpressionObj = new RegExp(["pattern", ["g" | "i" | "gi"]]); |
constructor | NN 4 IE 4 ECMA 3 |
Lesen/Schreiben | |
Informationen finden Sie in der Abhandlung dieser Eigenschaft im Abschnitt über das Array-Objekt. |
global, ignoreCase | NN 4 IE 5(Mac)/5.5(Win) ECMA 3 |
Schreibgeschützt | |
Gibt den Booleschen Wert true zurück, wenn beim Erstellen der regular expression-Objektinstanz der Modifikator g oder i gesetzt wurde. Wenn beide Modifikatoren für ein regular expression-Objekt gesetzt sind (gi), müssen trotzdem beide Eigenschaften einzeln getestet werden. |
|
Beispiel | |
if (myRE.global && myRE.ignoreCase) { ... } |
|
Wert | |
Boolescher Wert: true | false. |
lastIndex | NN 4 IE 4 ECMA 3 |
Lesen/Schreiben | |
Dies ist der auf Null basierende Indexwert des Zeichens innerhalb des Strings, bei dem der nächste Suchvorgang für das Muster beginnt. Bei einer neuer Suche ist der Wert Null. Sie können den Wert auch manuell einstellen, wenn Sie die Suche an einer anderen Position starten oder einige Zeichen überspringen möchten. |
|
Beispiel | |
myRE.lastIndex = 30; |
|
Wert | |
Integer. |
source | NN 4 IE 4 ECMA 3 |
Schreibgeschützt | |
Gibt eine Stringversion der Zeichen zurück, die zum Erstellen des regulären Ausdrucks verwendet wurden. Der Wert enthält nicht die Vorwärtsschrägstriche, durch die der Ausdruck an beiden Seiten begrenzt wird. |
|
Beispiel | |
var myREasString = myRE.source; |
|
Wert | |
String. |
compile( ) | NN 4 IE 4 ECMA nicht zutreffend |
compile("pattern"[, "g" | "i" | "gi"]) | |
Kompiliert ein reguläres Ausdruckmuster in ein echtes regular expression-Objekt. Diese Methode wird in erster Linie zum erneuten Kompilieren eines regulären Ausdrucks verwendet, dessen Muster sich während der Ausführung eines Skripts geändert hat. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
Referenz auf eine regular expression-Instanz. |
exec( ) | NN 4 IE 4 ECMA 3 | |||||||
exec(string) | ||||||||
Sucht in dem als Parameter übergebenen String nach dem aktuellen regulären Ausdrucksmuster. Eine typische Sequenz weist das folgende Format auf: |
||||||||
Die Eigenschaften des statischen RegExp-Objekts und der regular expression-Instanz (im obigen Beispiel myRE) werden mit Informationen zu den Suchergebnissen aktualisiert. Darüber hinaus gibt die Methode exec( ) ein Daten-Array zurück, das weitgehend den RegExp-Objekteigenschaften ähnelt. Das zurückgegebene Array umfasst die folgenden Eigenschaften: |
||||||||
Sie können die Ergebnisse der Methode exec( ) in einer Variablen speichern. Die RegExp-Eigenschaftenwerte ändern sich dagegen bei dem nächsten Vorgang, der mit dem regulären Ausdruck ausgeführt wird. Ist der reguläre Ausdruck für eine globale Suche eingerichtet, so wird der Suchvorgang bei einem anschließenden Aufruf von myRE.exec("someString") an der Position der letzten Übereinstimmung fortgesetzt. |
||||||||
Wurde bei einem Aufruf von exec( ) keine Übereinstimmung gefunden, wird null zurückgegeben. |
||||||||
|
||||||||
Parameter | ||||||||
|
||||||||
Zurückgegebener Wert | ||||||||
Bei Erfolg ein Array mit Übereinstimmungsinformationen; wird keine Übereinstimmung gefunden, ist das Ergebnis null. |
test( ) | NN 4 IE 4 ECMA 3 |
test(string) | |
Gibt den Booleschen Wert true zurück, wenn der als Parameter übergebene String eine Übereinstimmung mit dem regulären Ausdruck enthält. Andernfalls wird false zurückgegeben. Zu den Suchergebnissen sind keine weiteren Informationen verfügbar. Diese Methode ist die schnellste Möglichkeit festzustellen, ob in einem String eine Übereinstimmung mit einem Muster vorliegt. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
Boolescher Wert: true | false. |