RegexCreate
value RegexCreate ( value BYREF rxPattern, string strPattern, value PatternOptions = REGEX_Pattern_NoPatternOption );
Rückgabewert
Rückgabewert |
Beschreibung |
TRUE / true / 1 |
Der Regex-Verweis rxPattern wurde erfolgreich erstellt. |
FALSE / false / 0 |
Das übergebene Filtermuster strPattern ist fehlerhaft. |
Parameter
rxPattern
Konnte das Filtermuster strPattern erfolgreich ausgewertet werden, so wird rxPattern mit einem gültigem Regex-Verweis geladen.
Beinhaltet rxPattern beim Aufrufen einen gültigen Regex-Verweis, so wird dieser automatisch geschlossen, bevor ein neuer Regex-Verweis erzeugt wird.
Zur weiteren Verarbeitung muss dieser Regex-Verweis an weiterführende Regex-Funktionsaufrufen übergeben werden.
strPattern
Das Filtermuster zu dem das Regex-Verweis rxPattern erstellt werden soll.
PatternOptions
Die PatternOptions geben an, nach welchen zusätzlichen Regeln das Filtermuster Zeichenketten erkennen und auswerten soll.
Eine binäre Oder-Kombination der folgenden Werte ist möglich:
PatternOptions |
Beschreibung |
REGEX_Pattern_NoPatternOption |
Es werden keine zusätzlichen Regeln angewandt. |
REGEX_Pattern_CaseInsensitiveOption |
Bei der Analyse soll nicht auf Groß- oder Kleinschreibung geachtet werden. |
REGEX_Pattern_DotMatchesEverythingOption |
Das Punkt-Metazeichen (.) im Filtermuster soll für jedes Zeichen passen - also auch für Linefeeds (\n). Normalerweise stimmt das Punkt-Metazeichen nicht mit einem Linefeed überein. |
REGEX_Pattern_MultilineOption |
Zirkumflex- (^) und Dollar-Metazeichen ($) gelten nun auch jeweils unmittelbar nach und unmittelbar vor jedem Linefeed in der Auswertezeichenkette, sowie ganz am Anfang und ganz am Ende der Auswertezeichenkette. |
REGEX_Pattern_ExtendedPatternSyntaxOption |
Alle Leerzeichen denen kein Escape (\) vorangestellt und die nicht in einer Zeichengruppe enthalten sind, werden nicht zur Analyse herangezogen. |
REGEX_Pattern_DontCaptureOption |
Unbenannte Gruppen werden nicht erfasst, auch wenn sie eine Übereinstimmung haben. Es werden nur benannte Gruppen, die eine Übereinstimmung besitzen, bei der Analyse als Ergebnisse erfasst. Das Auslesen der Indexgruppe 0 wird hiervon nicht berührt. |
Bemerkungen
Erzeugt anhand des regulären Ausdrucks des Filtermusters strPattern das Regex-Objekt rxPattern, mit dem dann Zeichenketten ausgewertet werden können.
Ist der reguläre Ausdruck des Filtermusters strPattern fehlerhaft, so liefert RegexCreate FALSE als Rückgabewert. In diesem Fall kann mit RegexGetLastError eine Beschreibung des Fehlers abgerufen werden.
Wird ein Regex-Verweis nicht mehr verwendet, so sollte dieser mit RegexClose geschlossen werden. Wird ein RegexCreate mit einem gültigen Regex-Verweis in rxPattern aufgerufen, so wird dieser automatisch geschlossen, bevor rxPattern mit einem neuen Regex-Verweis geladen wird, daher kann hier auf ein explizites RegexClose verzichtet werden.
Beim Beenden eines laufenden Projekts schließt Victory automatisch alle nicht geschlossenen Regex-Verweise, d.h. wird ein RegexCreate im _InitApplication durchgeführt, so muss dieser nicht explizit im _ExitApplication geschlossen werden.
Beispiel
value rxPattern; string strLastError; //Zusammenhängende numerische Zeichenfolgen erfassen if (! RegexCreate (rxPattern, "\\d+")) return (RegexGetLastError (strLastError)); end //Zusammenhängende numerische Zeichenfolgen als Gruppe 'temp' erfassen, denen die Zeichenkette "Temperatur:" voransteht, //wobei Groß-/Kleinschreibung nicht beachtet werden soll. if (! RegexCreate (rxPattern, "Temperatur:(?<temp>\\d+)", REGEX_Pattern_CaseInsensitiveOption)) return (RegexGetLastError (strLastError)); end
Siehe auch RegexGetPattern, RegexSetPattern, RegexClose, RegexGetLastError