Wenn man generisch ein Pattern zusammensetzen will, kann es hilfreich sein, die RegEx-Sonderzeichen zu escapen. Diese Funktion maskiert alle notwendigen Zeichen.
Übersicht über alle rx-Funktionen: [VBA] RegExp Functions (RX-Functins)
Für die Ausgabe der Resultate verwendete ich die Funktion [VBA] print_r()
Die Funktion verwendet [VBA] rx_replace()
Public Function rx_escape_string( _ ByVal iString As String _ ) As String
print_r rx_escape_string("(00.12)") <String> '\(00\.12\)' print_r rx_escape_string("C:\load.log") <String> 'C:\\load\.log'
Die folgende Konstante wird verwendet um die Spezielzeichen zu finden
'/** ' * Pattern mit allen Sonderzeichen die Escapte werden müssen ' */ Private Const C_RX_ESCAPE_PATTERNS = "([\\\*\+\?\|\{\[\(\)\^\$\.\#])"
'/** ' * Escapte alle Sonderzeichen um eine rx-Pattern zu erstellen ' * @example rx_escape_string("Hallo Welt. Geht es dir (noch) gut?") ' * Hallo Welt\. Geht es dir \(noch\) gut\? ' * @param String ' * @return String ' */ Public Function rx_escape_string( _ ByVal iString As String _ ) As String rx_escape_string = rx_replace(C_RX_ESCAPE_PATTERNS, "\$1", iString) End Function