Um mit regulären Ausdrücken in VBScript zu arbeiten, gibt es den Objekttype RegExp. Objekte diesen Types ermöglichen es uns, in Strings nach regulären Ausdrücken zu suchen (match) oder durch andere Strings zu ersetzen (replace).
Objekte mit RegExp, sind sehr einfach in der Verwendung; Objekt definieren, regulären Ausdruck angeben und dann einfach suchen oder ersetzen.
Für RegExp gibt es die vier Objekteigenschaften Pattern, Global, IgnoreCase und Multiline, sowie die drei Methoden Test, Execute und Replace
1 2 3 4 | Set RExpression = New RegExp RExpression.Pattern = "regulaerer Ausdruck" RExpression.Global = True RExpression.IgnoreCase = True |
Der Eigenschaft .Pattern des RegExp Objektes wird der reguläre Ausdruck gegeben.
Wenn nicht nur beim ersten Auftreten des regulären Ausdrucks, sondern jedes Vorkommen gefunden oder ersetzt werden soll, so ist die Eigenschaft .Global auf True zu setzen.
Wenn die Groß/Kleinschreibung unbeachtet bleiben soll, so ist .IgnoreCase mit True zu verwenden.
Falls der untersuchte String aus mehreren Zeilen besteht kann die .Multiline Eigenschaft zum Einsatz kommen. Bei .Multiline = True können ^ (Start) und $ (Ende) für die Untersuchung jeder Zeile bverwendet werden, bei False beziehen sie sich dann auf den gesamten mehrzeiligen String.
Die Methode Test benötigt nur einen Parameter, den mit dem regulären Ausdruck zu untersuchenden String. Es wird True zurückgegeben, wenn der Ausdruck enthalten ist und False wenn nicht.
Die Methode Execute braucht auch nur den zu untersuchenden String als Parameter, liefert aber ein Objekt vom Typ MatchCollection zurück.
MatchCollection.Count enthält die Anzahl der Fundstellen bei RegExp.Global = True. Wenn RegExp.Global = False wird bei einem oder mehreren Vorkommen Matchcollection.Count = 1 sein. MatchCollection.Count = 0 bedeutet, der reguläre Ausdruck kommt nicht im zu untersuchenden String vor. MatchCollection selber enthält abhängig von RegExp.Global nur den ersten Treffer oder alle gefundenen Ausdrücke.
Die Replace Methode benötigt neben den zu untersuchenden String auch den ersetzenden String. Diese Methode liefert den untersuchten String, ersetzt mit dem zweiten String zurück. Je nach RegExp.Global wird nur an der Stelle des ersten Vorkommens ersetzt (False), oder jedes Vorkommen (True).
Wenn man als ersetzenden String einen Leerstring mitgibt, so wird an den Fundstellen des regulären Ausdrucks dieser gelöscht.