Normale Zeichen bestehen aus all den gedruckten und nicht gedruckten Zeichen, die nicht explizit als Metacharacter angegeben sind. Dies umfasst alle Groß- und Kleinbuchstaben -Alphabet -Zeichen, alle Zahlen, alle Interpunktionsmarken und einige Symbole.
Der einfachste reguläre Ausdruck ist ein einzelner normaler Zeichen, der dem Zeichen selbst in der durchsuchten Zeichenfolge übereinstimmt. Zum Beispiel kann das Single-Charakter-Muster 'a' mit dem Buchstaben 'a' überall in der durchsuchten Zeichenfolge übereinstimmen. Hier sind einige Beispiele für reguläre Expressionsmuster mit Einzelcharakter:
/a/ /7/ /M/Der äquivalente VBScript-Einzelcharakter-reguläre Ausdruck lautet:
a 7 MMehrere einzelne Zeichen können miteinander kombiniert werden, um einen größeren Ausdruck zu erhalten. Zum Beispiel ist der folgende regelmäßige Jscript-Ausdruck nichts anderes, sondern ein Ausdruck, der durch Kombination von Einzelcharakter-Ausdrücken 'a', '7' und 'M' erzeugt wird.
/a7M/Der äquivalente VBScript -Ausdruck lautet:
a7MBitte beachten Sie, dass es hier keinen Verbindungsoperator gibt. Alles, was Sie tun müssen, ist einen Charakter hinter einen anderen Charakter zu setzen.
Es gibt viele Metacharacer, die eine besondere Verarbeitung benötigen, wenn Sie versuchen, sie zu entsprechen. Um diesen Sonderzeichen anzupassen, müssen Sie ihnen zuerst entkommen, dh einen Backslash (/) verwenden. Die folgende Tabelle gibt diesen Sonderzeichen und ihrer Bedeutungen:
| Sonderzeichen | veranschaulichen |
|---|---|
| $ | Entspricht der Endposition der Eingangszeichenfolge. Wenn die Multiline -Eigenschaft des Regexp -Objekts festgelegt ist, stimmt $ auch '/n' oder '/r' überein. Verwenden Sie /$, um dem $ Charakter selbst zu entsprechen. |
| () | Markiert die Start- und Endpositionen einer Suberpression. Unterexpressionen können für die spätere Verwendung erhalten werden. Verwenden Sie /(und /), um diese Zeichen anzupassen. |
| * | Entspricht dem vorherigen Subtonpression Null oder mehrmals. Verwenden Sie / *. |
| + | Entspricht dem vorherigen Subton -Druck einmal oder mehrmals. Verwenden Sie / +. |
| . | Passen Sie einen einzelnen Zeichen außer Zeilenunterbrechung/n an. Zu übereinstimmen., Benutze /. |
| [ | Markieren Sie den Beginn eines Klammerausdrucks. Zu übereinstimmen [, verwenden Sie /[. |
| ? | Entspricht dem vorherigen Subtonpression Null oder einmal oder zeigt einen nicht greedischen Qualifikationsmerkmal an. Um dem Charakter zu entsprechen, verwenden Sie /?. |
| / | Markieren Sie den nächsten Charakter als spezielles Zeichen oder als primitiver Zeichen oder als Rückwärtsreferenz oder als Octal Escape -Zeichen. Zum Beispiel entspricht 'N' dem Charakter 'n'. '/n' entspricht dem Newline -Charakter. Die Sequenz '//' übereinstimmt/und '/(' Matches (. |
| ^ | Übereinstimmung mit der Startposition der Eingangszeichenfolge, es sei denn, es wird in einem quadratischen Klassenausdruck verwendet. An welchem Punkt wird die Charaktersammlung nicht akzeptiert. Verwenden Sie / ^. |
| { | Markieren Sie den Beginn des Qualifikationsausdrucks. Zu {{, verwenden Sie /{{. |
| | | Geben Sie eine Auswahl zwischen zwei Elementen an. Zu übereinstimmen |, verwenden Sie /|. |
Es gibt viele nützliche Nicht-Print-Charaktere, die gelegentlich verwendet werden müssen. Die folgende Tabelle zeigt die Escape-Sequenzen, die verwendet werden, um diese nicht gedruckten Zeichen darzustellen:
| Charakter | Bedeutung |
|---|---|
| /c x | Entspricht den durch x angegebenen Steuerzeichen. Zum Beispiel entspricht /cm mit einer Steuer-M- oder Wagenrendite. Der Wert von X muss einer von AZ oder AZ sein. Ansonsten behandeln Sie C als Original -C' -Charakter. |
| /F | Passen Sie eine Seitenpause an. Äquivalent zu /x0c und /cl. |
| /N | Passen Sie einen neuen Charakter an. Äquivalent zu /x0a und /cj. |
| /R | Passen Sie einen Kutschenrücklaufcharakter an. Äquivalent zu /x0d und /cm. |
| /S | Passen Sie alle Whitespace -Zeichen an, einschließlich Leerzeichen, Registerkarten, Seitenunterbrechungen usw. Äquivalent zu [/f/n/r/t/v]. |
| /S | Passen Sie alle Nicht-Whitespace-Charaktere an. Äquivalent zu [^/f/n/r/t/v]. |
| /T | Passen Sie einen Registerkartencharakter an. Äquivalent zu /x09 und /ci. |
| /v | Passen Sie eine vertikale Registerkarte an. Äquivalent zu /x0b und /ck. |
Periode (.) Passt ein einzelner gedruckter oder nicht gedruckter Zeichen in einer Zeichenfolge ab, mit Ausnahme von Zeilenpausen (/n). Die folgenden regulären Ausdrücke von Jscript können mit 'AAC', 'ABC', 'ACC', 'ADC' usw. übereinstimmen und auch 'A1c', 'A2C', AC 'und A#C' übereinstimmen:
/ac/Der äquivalente reguläre Ausdruck von VBScript lautet:
acWenn Sie versuchen, eine Zeichenfolge zu entsprechen, die den Dateinamen enthält, in dem der Zeitraum (.) Teil der Eingabezeichenfolge ist, können Sie einen Zeitraum im regulären Ausdruck mit einem Backslash (/) -Schapon vorfixieren, um dies zu erreichen. Beispielsweise kann der folgende reguläre Ausdruck von Jscript mit 'Dateiname.Ext' übereinstimmen:
/filename/.ext/Für VBScript sieht der äquivalente Ausdruck so aus:
filename/.extDiese Ausdrücke sind immer noch ziemlich begrenzt. Sie dürfen nur einem einzelnen Charakter übereinstimmen. In vielen Fällen ist es sehr nützlich, um Sonderzeichen aus einer Liste abzustimmen. Wenn der Eingabetxt beispielsweise Kapitel -Titel enthält, die mit Zahlen als Kapitel 1, Kapitel 2 usw. gekennzeichnet sind, möchten Sie diese Kapitel -Titel vielleicht finden.
Sie können ein oder mehrere einzelne Zeichen in eine quadratische Klammer ([und]) einfügen, um eine passende Liste zu erstellen. Wenn die Zeichen in Klammern eingeschlossen sind, wird die Liste als Klammerausdruck bezeichnet. In Klammern repräsentieren sich gewöhnliche Charaktere wie irgendwo anders, das heißt, sie stimmen zu einem ihrer selbst überein, der im Eingabtext erscheint. Die meisten Sonderfiguren verlieren ihre Bedeutung, wenn sie sich in Klammerausdrücken befinden. Hier sind einige Ausnahmen:
Die im Bracket -Ausdruck enthaltenen Zeichen stimmen nur mit einem einzigen Zeichen über, in dem sich der Ausdruck der Klammer im regulären Ausdruck befindet. Die folgenden regulären Ausdrücke von Jscript können mit 'Kapitel 1', 'Kapitel 2', 'Kapitel 3', 'Kapitel 4' und 'Kapitel 5' übereinstimmen:
/Chapter [12345]/Verwenden Sie den folgenden Ausdruck, um den gleichen Kapitel -Titel in VBScript zu entsprechen:
Chapter [12345]Bitte beachten Sie, dass die Positionsbeziehung zwischen dem Wort "Kapitel" und den folgenden Räumen und den Zeichen in Klammern behoben ist. Daher wird der Ausdruck der Klammer nur verwendet, um eine Reihe von Zeichen anzugeben, die die einzelnen Zeichenposition unmittelbar nach dem Wort 'Kapitel' und einem Raum erfüllen. Hier ist die neunte Charakterposition.
Wenn Sie einen Bereich anstelle des Charakters selbst verwenden möchten, um den zu übergreifenden Charakter darzustellen, können Sie einen Bindestrich verwenden, um die Start- und Endzeichen des Bereichs zu trennen. Der Charakterwert jedes Zeichens bestimmt seine relative Reihenfolge innerhalb eines Bereichs. Der folgende reguläre Jscript -Expression enthält einen Bereich, der der oben gezeigten Klammernliste entspricht.
/Chapter [1-5]/Die Ausdrücke derselben Funktion in VBSCIPT sind wie folgt:
Chapter [1-5]Wenn auf diese Weise ein Bereich angegeben wird, sind sowohl der Start- als auch die Endwerte in diesem Bereich enthalten. Eine Sache, die beachtet werden muss, ist, dass der Startwert in der Unicode -Sortierung vor dem Endwert sein muss.
Wenn Sie Bindestriche in einen Klammerausdruck aufnehmen möchten, müssen Sie eine der folgenden Methoden verwenden:
[/-] [-az] [az-] [!--] [!-~]In ähnlicher Weise finden Sie durch Platzieren einer Pflege (^) am Anfang der Liste alle Zeichen, die nicht in der Liste oder in der Reichweite enthalten sind. Wenn die Pflege an anderer Stelle in der Liste erscheint, stimmt sie ohne besondere Bedeutung überein. Der folgende reguläre Ausdruck von Jscript entspricht dem Titel des Kapitels mit einer Kapitelnummer von mehr als 5:
/Chapter [^12345]/Verwenden Sie für VBScript:
Chapter [^12345]In dem oben gezeigten Beispiel entspricht der Ausdruck jedem numerischen Zeichen an der neunten Position mit Ausnahme von 1, 2, 3, 4 oder 5. 'Kapitel 7' ist also ein Match, ebenso wie 'Kapitel 9'.
Der obige Ausdruck kann durch einen Bindestrich (-) dargestellt werden. Für Jscript:
/Chapter [^1-5]/Oder für VBScript ist es:
Chapter [^1-5]Eine typische Verwendung von Klammerausdrücken besteht darin, eine Übereinstimmung mit alphabetischen Zeichen oder einer beliebigen Zahl in Groß- oder Kleinbuchstaben anzugeben. Der folgende Jscript -Ausdruck gibt dieser Übereinstimmung:
/[A-Za-z0-9]/Der äquivalente VBScript -Ausdruck lautet:
[A-Za-z0-9]