1. Erstellen des Objekts.
RegExp = Новый COMОбъект("VBScript.RegExp");
2. Eigenschaften.
| Eigenschaft | Datentyp | Beschreibung | Standardwert | Beispiel |
|---|---|---|---|---|
| Global | Boolean | Die Zeichenfolge bis zur ersten Übereinstimmung mit dem Muster (Falsch) oder im gesamten Text (Wahr) überprüfen | Falsch |
|
| IgnoreCase | Boolean | Die Groß- und Kleinschreibung der Zeichen beachten (Falsch) oder ignorieren (Wahr) | Falsch |
|
| MultiLine | Boolean | Mehrzeiliger (Wahr) oder einzeiliger (Falsch) Modus | Falsch |
|
| Pattern | String | Das verwendete Muster – ein Textvorlage, die aus normalen Zeichen und/oder speziellen Metazeichen besteht |
|
3. Methoden.
| Methode | Beschreibung | Rückgabewert | Beispiel |
|---|---|---|---|
| Replace(Zeichenfolge, Unterzeichenfolge) | Ersetzen von Vorkommen, die dem Muster (Eigenschaft Pattern) entsprechen, in der Originalzeichenfolge durch die angegebene Unterzeichenfolge | Geänderte Zeichenfolge |
|
| Test(Zeichenfolge) | Überprüfung der Übereinstimmung mit dem Muster | Boolean |
|
| Execute(Zeichenfolge) | Suche nach dem Muster entsprechenden Vorkommen in der Originalzeichenfolge | Sammlung der gefundenen Unterzeichenfolgen als Aggregatobjekt |
|
4. Metazeichen.
| Zeichen | Beschreibung | Beispiel |
|---|---|---|
| \ | Zeigt an, dass das folgende Zeichen ein Sonderzeichen ist. Die Sequenz "\\" entspricht "\", und die Sequenz "\(" entspricht "(". |
|
| ^ | Definiert den Anfang der Eingabezeichenfolge. Wenn die Eigenschaft Multiline festgelegt ist, definiert es auch die Position unmittelbar nach "\n" (Zeilenumbruch) und "\r" (Wagenrücklauf). |
|
| $ | Definiert das Ende der Eingabezeichenfolge. Wenn die Eigenschaft Multiline festgelegt ist, definiert es auch die Position unmittelbar vor "\n" (Zeilenumbruch) und "\r" (Wagenrücklauf). |
|
| * | Definiert null oder mehrere Vorkommen des vorangehenden Zeichens. Äquivalent zu {0,}. |
|
| + | Definiert ein oder mehrere Vorkommen des vorangehenden Zeichens. Äquivalent zu {1,}. |
|
| ? | Definiert null oder ein Vorkommen des vorangehenden Zeichens. Äquivalent zu {0,1}. Wenn dieses Metazeichen unmittelbar auf Konstruktionen (*, +, ?, {n}, {n,}, {n,m}) folgt, führt dies zu einer Änderung des Suchalgorithmus für das angegebene Muster, was im folgenden Beispiel veranschaulicht wird. |
|
| {n} | Definiert die genaue Anzahl der vorangehenden Zeichen. "n" ist eine nicht-negative ganze Zahl. |
|
| {n,} | Definiert die Mindestanzahl der vorangehenden Zeichen. "n" ist eine nicht-negative ganze Zahl. "{0,}" ist äquivalent zu "*", und "{1,}" ist äquivalent zu "+". |
|
| {n,m} | Definiert die Anzahl der vorangehenden Zeichen (von - bis). "n" und "m" sind nicht-negative ganze Zahlen, wobei n <= m. "{0,1}" ist äquivalent zu "?". |
|
| . | Definiert jedes Zeichen außer "\n" (Zeilenumbruch). Um jedes Zeichen einschließlich "\n" zu definieren, sollte "[\s\S]" verwendet werden. |
|
| (Muster) | Speichert das Übereinstimmungsergebnis des Musters in der SubMatches-Auflistung. Um die Zeichen "(" und ")" zu definieren, sollten "\(" und "\)" verwendet werden. |
|
| (?:Muster) | Nützlich zum Kombinieren von Musterbestandteilen mit dem "|" (ODER)-Zeichen. Zum Beispiel ist "gosp(?:din|ja)" kürzer als "gospodin|gospoja". Speichert die Übereinstimmung NICHT in der SubMatches-Auflistung. |
|
| (?=Muster) | "Windows(?=95|98)" stimmt mit der Teilzeichenfolge "Windows" in der Zeichenfolge "Windows95" überein, jedoch nicht in "WindowsNT". Die weitere Suche beginnt sofort, nicht nach den Zeichen in den Klammern. Speichert die Übereinstimmung NICHT in der SubMatches-Auflistung. |
|
| (?!Muster) | "Windows(?!95|98)" stimmt mit der Teilzeichenfolge "Windows" in der Zeichenfolge "WindowsNT" überein, jedoch nicht in "Windows95". Ansonsten ist es vollständig analog zu "(?=Muster)". |
|
| x|y | ODER-Bedingung. "vz|peredvod" stimmt mit "vz" und "peredvod" überein. "(vz|pered)vod" stimmt mit "vzvod" und "peredvod" überein. |
|
| [abc] | Zeichensatz. Findet eines der angegebenen Zeichen. |
|
| [^abc] | Ausschließender Zeichensatz. Findet eines der nicht angegebenen Zeichen. |
|
| [a-z] | Zeichenbereich. Findet jedes Zeichen aus dem Bereich. |
|
| [^a-z] | Ausschließender Zeichensatz. Findet jedes Zeichen, das nicht in den Bereich fällt. |
|
| \b \B | \b - Wortgrenze, d. h. die Position zwischen dem Ende eines Wortes und einem Leerzeichen. \B - KEINE Wortgrenze. |
|
| \d \D | \d - Ziffer. Entspricht [0-9]. \D - KEINE Ziffer. Entspricht [^0-9]. |
|
| \w \W | \w - jedes Wortzeichen, einschließlich des Unterstrichs. Entspricht [A-Za-z0-9_]. \W - das Gegenteil von "\w". Entspricht [^A-Za-z0-9_]. |
|
| \s \S | \s - Leerzeichen. Entspricht [\f\n\r\t\v]. \S - kein Leerzeichen. Entspricht [^\f\n\r\t\v]. |
|
| \cx | Steuerzeichen. Der Parameter "x" liegt im Bereich A-Z oder a-z. Zum Beispiel definiert "\cM" Control-M bzw. das Wagenrücklaufzeichen, "\cJ" ist ein Zeilenumbruch, "\cL" ein Seitenumbruch, "\cI" ein Tabulatorzeichen und "\cK" ein vertikales Tabulatorzeichen. |
|
| \f | Seitenumbruchzeichen. Entspricht "\x0c" und "\cL". | |
| \n | Zeilenumbruchzeichen. Entspricht "\x0a" und "\cJ". |
|
| \r | Wagenrücklaufzeichen. Entspricht "\x0d" und "\cM". |
|
| \t | Tabulatorzeichen. Entspricht "\x09" und "\cI". |
|
| \v | Vertikales Tabulatorzeichen. Entspricht "\x0b" und "\cK". |
|
| \xn | Hexadezimaler ASCII-Code des Zeichens. Muss genau zwei Zeichen enthalten. |
|
| \num | Rückverweis auf vorherige festgelegte (gefundene) Teilzeichenfolgen-Übereinstimmungen (SubMatches). "num" ist eine positive ganze Zahl, die die Nummer der Übereinstimmung in der SubMatches-Sammlung angibt; die Zählung beginnt bei 1. Zum Beispiel definiert "(.)\1" zwei identische, aufeinanderfolgende Zeichen. |
|
| \un | Definiert ein Unicode-Zeichen anhand seines hexadezimalen Codes. "n" ist ein vierstelliger hexadezimaler Code. |
|
