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
Siehe auch RegexCreate, RegexSetPattern, RegexClose, RegexGetLastError, RegexGlobalMatch, RegexMatchCaptured, RegexIteratorHasNext, RegexIteratorPeekNext