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
(Standardwert = 0x00)

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.
Wird eine teilweise Übereinstimmung gefunden, so wird trotzdem nach einer vollständigen Übereinstimmung weitergesucht. Wird keine vollständige Übereinstimmung gefunden, so wird die teilweise Übereinstimmung erfasst.

REGEX_MatchType_PartialPreferFirstMatch

Die Zeichenkette wird nach teilweiser Übereinstimmung des Filtermusters durchsucht.
Wird eine teilweise Übereinstimmung gefunden, so wird nicht nach einer vollständigen Übereinstimmung weitergesucht.

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
(Standardwert = 0x00)

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'
 

Die Regex-Funktionen

Siehe auch RegexCreate, RegexSetPattern, RegexClose, RegexGetLastError, RegexMatch, RegexGlobalMatch, RegexMatchHasMatch, RegexMatchHasPartialMatch, RegexMatchCaptured