regularexpression=/pattern/[switch]
Dieser Schalter hat drei Werte: g: Globale Übereinstimmung i: Groß-/Kleinschreibung ignorieren gi: Globale Übereinstimmung Groß-/Kleinschreibung ignorieren JScript-Sprachreferenz
--------------------------------- --- ----------------------------------
Rückverweise Eine der wichtigsten Eigenschaften regulärer Ausdrücke ist die Fähigkeit, einen Teil eines erfolgreich abgeglichenen Musters für die spätere Verwendung zu speichern. Denken Sie daran, dass das Hinzufügen von Klammern um ein reguläres Ausdrucksmuster oder einen Teil eines Musters dazu führt, dass dieser Teil des Ausdrucks in einem temporären Puffer gespeichert wird. Sie können die nicht erfassenden Metazeichen „?:“, „?=“ oder „?!“ verwenden, um das Speichern dieses Teils des regulären Ausdrucks zu ignorieren.
Jede erfasste Teilübereinstimmung wird von links nach rechts im Muster des regulären Ausdrucks gespeichert. Die Puffer, in denen Teilübereinstimmungen gespeichert werden, sind beginnend bei 1 und fortlaufend bis zu einem Maximum von 99 Teilausdrücken nummeriert. Auf jeden Puffer kann mit „n“ zugegriffen werden, wobei n eine ein- oder zweistellige Dezimalzahl ist, die einen bestimmten Puffer identifiziert.
Eine der einfachsten und nützlichsten Anwendungen von Rückverweisen ist die Möglichkeit, die Position im Text zu bestimmen, an der zwei aufeinanderfolgende Vorkommen desselben Wortes vorkommen. Schauen Sie sich den folgenden Satz an: Steigen die Benzinkosten? Basierend auf dem, was geschrieben steht, enthält der obige Satz eindeutig mehrere Wortwiederholungen. Es wäre schön, wenn es eine Möglichkeit gäbe, diesen Satz zu ändern, ohne nach Duplikaten jedes Wortes suchen zu müssen. Der folgende reguläre JScript-Ausdruck verwendet einen Unterausdruck, um diese Funktionalität zu erreichen.
/b([a-z] ) Der entsprechende VBScript-Ausdruck von 1b/gi ist:
"b([a-z] ) 1b" In diesem Beispiel ist der Unterausdruck jeder Begriff zwischen den Klammern. Der erfasste Ausdruck besteht aus einem oder mehreren alphabetischen Zeichen, wie durch „[a-z]“ angegeben. Der zweite Teil des regulären Ausdrucks ist ein Verweis auf die zuvor erfasste Unterübereinstimmung, bei der es sich um das zweite Vorkommen des Worts handelt, mit dem der angehängte Ausdruck übereinstimmt. „1“ wird verwendet, um die erste Teilübereinstimmung anzugeben. Wortgrenzen-Metazeichen stellen sicher, dass nur einzelne Wörter erkannt werden. Wäre dies nicht geschehen, würden Formulierungen wie „ist ausgestellt“ oder „dies ist“ fälschlicherweise vom Ausdruck erkannt.
In einem JScript-Ausdruck gibt das globale Flag ('g') nach einem regulären Ausdruck an, dass der Ausdruck verwendet wird, um so viele Übereinstimmungen wie möglich in der Eingabezeichenfolge zu finden. Die Groß-/Kleinschreibung wird durch eine Groß-/Kleinschreibungsmarkierung („i“) am Ende des Ausdrucks angegeben. Mehrzeilige Tags geben mögliche Übereinstimmungen an, die auf beiden Seiten eines Zeilenumbruchzeichens auftreten können. Für VBScript können verschiedene Tags nicht in Ausdrücken festgelegt werden, sondern müssen explizit mithilfe der Eigenschaften des RegExp-Objekts festgelegt werden.
Unter Verwendung des oben gezeigten regulären Ausdrucks kann der folgende JScript-Code Submatch-Informationen verwenden, um zwei aufeinanderfolgende Vorkommen desselben Worts durch dasselbe Wort in einer Literalzeichenfolge zu ersetzen:
var ss = „Steigen die Benzinkosten?.n“; var re = /b([a-z] ) 1b/gim; //Regulären Ausdruck erstellen style.var rv = ss.replace (re ,"$1"); //Ersetze zwei Wörter durch ein Wort.