regular expressionNN 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.

 
ZeichenÜbereinstimmungBeispiel
\bWortgrenze/\bto/ entspricht "tomorrow", /to\b/ entspricht "Soweto"
\BWort ohne Wortgrenzen/\Bto/ entspricht "stool" und "Soweto", /to\B/ entspricht "stool" und "tomorrow"
\dZiffern 0 bis 9/\d\d/ entspricht "42"
\DKeine Ziffern/\D\D/ entspricht "to"
\sEin einziges Leerzeichen/under\sdog/ entspricht "under dog"
\SEin einziges Zeichen, das kein Leerzeichen ist/under\Sdog/ entspricht "under-dog"
\wBuchstabe, Ziffer oder Unterstrich/1\w/ entspricht "1A"
\WKein Buchstabe, keine Ziffer und kein Unterstrich/1\W/ entspricht "1%"
.Beliebiges Zeichen außer Zeilenvorschub/../ entspricht "Z3"
[...]Eines der in Klammern gesetzten Zeichen/J[aeiou]y/ entspricht "Joy"
[^...]Negierter Zeichensatz/J[^eiou]y/ entspricht "Jay"
*Null oder mehrere Male/\d*/ entspricht "", "5" oder "444"
?Null oder ein Mal/\d?/ entspricht "" oder "5"
+Ein oder mehrere Male/\d+/ entspricht "5" oder "444"
{n}Genau n mal/\d{2}/ entspricht "55"
{n,}n oder mehrere Male/\d{2,}/ entspricht "555"
{n,m}Mindestens n, maximal m mal/\d{2,4}/ entspricht "5555"
^Am Anfang eines Strings oder einer Zeile/^Sally/ entspricht "Sally says..."
$Am Ende eines Strings oder einer Zeile/Sally.$/ entspricht "Hi, Sally."
 
Eigenschaften
 
constructor Global ignoreCase lastIndex source
 
Methoden
 
compile( ) exec( ) test( )
 
Creating a regular expression Object
 
var regExpressionObj = /pattern/ [g | i | gi];
var regExpressionObj = new RegExp(["pattern", ["g" | "i" | "gi"]]);
constructorNN 4 IE 4 ECMA 3

Lesen/Schreiben

Informationen finden Sie in der Abhandlung dieser Eigenschaft im Abschnitt über das Array-Objekt.

global, ignoreCaseNN 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.

lastIndexNN 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.

sourceNN 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
 
  • Ein beliebiges reguläres Ausdruckmuster als String in Anführungszeichen. Die Modifikatoren für globale und/oder von der Groß-/Kleinschreibung unabhängige Suche müssen als separate Parameter in Anführungszeichen übergeben werden.
 
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.

 
Der auf Null basierende Index des Anfangszeichens im String, der mit dem Muster übereinstimmt.
Der ursprüngliche String, nach dem gesucht wird
Ein String, der mit dem Muster übereinstimmt
Strings mit den Ergebnissen, die mit der in Klammern gesetzten Unterkomponente übereinstimmen
 
Parameter
 
  • Der zu suchende String.
 
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
 
  • Der zu suchende String.
 
Zurückgegebener Wert

Boolescher Wert: true | false.