RegexMatch
value RegexMatch ( value rxPattern, BYREF value rxMatch, string strSubject, value Offset = 0, value MatchType = REGEX_MatchType_NormalMatch, value MatchOptions = REGEX_Match_NoMatchOption );
Rückgabewert
Rückgabewert |
Beschreibung |
TRUE / true / 1 |
Der RegexMatch-Verweis rxMatch wurde erfolgreich erstellt. |
FALSE / false / 0 |
Der übergebene Regex-Verweis für rxPattern ist ungültig. |
Null wenn der RegexMatch-Verweis rxMatch erfolgreich erstellt wurde, -1 wenn der übergebene Regex-Verweis rxPattern ungültig ist.
Parameter
rxPattern
Ein gültiger Regex-Verweis, der zur Analyse der Zeichenkette strSubject verwendet werden soll.
rxMatch
Wird mit einem gültigem RegexMatch-Verweis geladen, der das Ergebnis der Auswertung enthält.
Zur weiteren Verarbeitung muss dieser RegexMatch-Verweis an weiterführende RegexMatch-Funktionsaufrufen übergeben werden.
strSubject
Die Zeichenkette, die anhand des Regex-Verweises rxPattern, analysiert werden soll.
Offset
Die Position ab der die Analyse in der Zeichenkette strSubject beginnen soll.
MatchType
Der MatchType gibt an, wie eine Übereinstimmung mit dem Filtermuster bewertet werden soll.
Einer der folgenden Werte ist möglich:
MatchType |
Beschreibung |
REGEX_MatchType_NormalMatch |
Es wird nach normaler Übereinstimmung gesucht. |
REGEX_MatchType_PartialPreferCompleteMatch |
Die Zeichenkette wird nach teilweiser Übereinstimmung des Filtermusters durchsucht, jedoch wird eine vollständige Übereinstimmung bevorzugt. |
REGEX_MatchType_PartialPreferFirstMatch |
Die Zeichenkette wird nach teilweiser Übereinstimmung des Filtermusters durchsucht. |
MatchOptions
Die MatchOptions geben an, welche zusätzlichen Übereinstimmungsregeln gelten sollen.
Eine binäre Oder-Kombination der folgenden Werte ist möglich:
MatchType |
Beschreibung |
REGEX_Match_NoMatchOption |
Es sollen keine zusätzlichen Übereinstimmungsregeln verwendet werden. |
REGEX_Match_AnchoredMatchOption |
Eine Übereinstimmung muss genau an der vorgegebenen Stelle Offset beginnen, auch wenn im Filtermuster kein entsprechenden Metazeichen enthalten ist. |
Bemerkungen
Versucht anhand des Filtermusters (regulärer Ausdruck) rxPattern eine Übereinstimmung in der Zeichenkette strSubject ab der Position Offset zu finden. Dabei wird die Art und Weise wie die Übereinstimmung bewertet werden soll durch MatchType und welche zusätzlichen Übereinstimmungsregeln gelten durch MatchOptions festgelegt. Das Ergebnis der Analyse wird als RegexMatch-Verweis in rxMatch abgelegt.
Wird das Ergebnis der Analyse nicht weiter benötigt, so sollte ein RegexMatchClose für der RegexMatch-Verweis rxMatch aufgerufen werden, da ansonsten die Ergebnisse im Arbeitsspeicher verbleiben. Wird das Filtermuster rxPattern allerdings sowieso per RegexClose gelöscht, so kann auf zugehörige RegexMatchClose Aufrufe verzichtet werden.
Um das Ergebnis der Analyse entgültig auszulesen, sind RegexMatch-Funktionsausrufe notwendig.
Beispiel
value rxPattern, rxMatch; string strResult, strLastError; //Zusammenhängende 3 stellige numerische Zeichenfolgen erfassen if (! RegexCreate (rxPattern, "[^\d*](\d{3})[^\d*]")) RegexGetLastError (strLastError); end RegexMatch (rxPattern, "abc 18 7896 xyz 345 23", rxMatch); //sucht nach der ersten Übereinstimmung strResult = RegexMatchCaptured (rxMatch); //strResult == '345 ' strResult = RegexMatchCaptured (rxMatch, 1); //strResult == '345'
Siehe auch RegexCreate, RegexSetPattern, RegexClose, RegexGetLastError, RegexMatch, RegexGlobalMatch, RegexMatchHasMatch, RegexMatchHasPartialMatch, RegexMatchCaptured