RegexIteratorNext

value RegexIteratorNext ( value rxIterator );

Rückgabewert

Rückgabewert

Beschreibung

RegexMatch-Verweis

Ein gültiger RegexMatch-Verweis wurde ausgelesen.

0

Es existiert kein gültiger RegexMatch-Verweis.

Parameter

rxIterator

Ein gültiger RegexIterator-Verweis von dem der nächste RegexMatch-Verweis ausgelesen werden soll.

Bemerkungen

Liest den nächsten RegexMatch-Verweis aus dem gültigen RegexIterator-Verweis rxIterator aus und entfernt diesen aus der Übereinstimmungskette von rxIterator. Jeder RegexIteratorNext Aufruf leert die Übereinstimmungskette in rxIterator um diesen Eintrag, sodass nach mehreren RegexIteratorNext Aufrufen die Übereinstimmungskette in rxIterator am Ende leer ist. Mit RegexIteratorHasNext kann geprüft werden, ob ein weiterer Aufruf von RegexIteratorNext noch einen gültigen RegexMatch-Verweis liefern kann.

Der zurückgelieferte RegexMatch-Verweis muss nicht per RegexMatchClose gelöscht werden. Er wird durch RegexIteratorClose bzw. durch RegexClose mitgelöscht.

Beispiel

value rxPattern, rxMatch, rxIterator;
string strResult, strLastError;

//Zusammenhängende Zeichenfolgen bestehend aus
// a) einer alphanumerischen Zeichenfolge
// b) einem ':' 
// c) einer numerischen Zeichenfolge
// d) einer alphanumerischen Zeichenfolge (diese darf falls vorhanden
//    mit einem nicht alphanumerischem Zeichen beginnen)
//Die Gruppen werden zusammengefasst in 'name', 'value' und 'unit'.
if (! RegexCreate (rxPattern, "(?<name>\\w+):(?<value>\\d+)(?<unit>\\W?\\w+)")) 
    return (RegexGetLastError (strLastError));
end
RegexGlobalMatch (rxPattern, rxIterator, "Voltage:99V Current:12A Temperature:104°C");
while (RegexIteratorHasNext (rxIterator)) //ist eine weitere  Übereinstimmung vorhanden?
    rxMatch = RegexIteratorNext (rxIterator); //nächste Übereinstimmung auslesen
    strResult += RegexMatchCaptured (rxMatch, "name");
    strResult += " = ";
    strResult += RegexMatchCaptured (rxMatch, "value");
    strResult += " [";
    strResult += RegexMatchCaptured (rxMatch, "unit");
    strResult += "]\n";
end 

Die Regex-Funktionen

Siehe auch RegexCreate, RegexSetPattern, RegexClose, RegexGetLastError, RegexGlobalMatch, RegexMatchCaptured, RegexIteratorHasNext, RegexIteratorPeekNext