NSRegularExpression enumerateMatchesInString: options: range: usingBlock: ergibt ein Null-Ergebnis?

Ich verwende einen regulären Ausdruck in einem Parser, aber es scheint ein Ergebnis zu geben, das ist mein Code: Regex:

self.seatSelectRegex = [NSRegularExpression regularExpressionWithPattern:@"Seat ([0-9]{1,2}): (.*) \\([$£€]?([0-9.]+) in chips\\).*$" options:NSRegularExpressionAnchorsMatchLines error:&error];

Code:

NSMutableDictionary *players = [[NSMutableDictionary alloc] init];
[self.seatSelectRegex enumerateMatchesInString:input options:NSMatchingCompleted range:NSMakeRange(0, input.length) usingBlock:
 ^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) 
{

    NSLog(@"%lu", result.range.length);
    Player *p = [[Player alloc] init];

    p.name = [input substringWithRange:[result rangeAtIndex:2]];
    p.seatNumber = [input substringWithRange:[result rangeAtIndex:1]].intValue;
    p.stack = [input substringWithRange:[result rangeAtIndex:3]].doubleValue;

    [players setValue:p forKey:p.name];
}];

Ich erwarte 3 Ergebnisse mit meiner Eingabe, erhalte jedoch 4, wobei das letzte Ergebnis einen Bereich mit location = 0 und length = 0 aufweist (die ersten drei sind alle korrekt). Ist dies ein verbreitetes Verhalten und sollte ich nur die Position und Länge des Bereichs überprüfen, oder liegt irgendwo ein Fehler vor?

Für das, was es wert ist, ist dies mein Input:

PokerStars Hand #81669312371:  Hold'em No Limit ($0.01/$0.02 USD) - 2012/06/08 16:57:33 CET [2012/06/08 10:57:33 ET]
Table 'Icarus III' 6-max Seat #2 is the button
Seat 2: SanderDecler ($2 in chips) 
Seat 3: ehrli87 ($0.90 in chips) 
Seat 4: umar.11 ($1.60 in chips) 
ehrli87: posts small blind $0.01
umar.11: posts big blind $0.02
*** HOLE CARDS ***
Dealt to SanderDecler [Kh 7d]
SanderDecler: raises $0.04 to $0.06
ehrli87: folds 
umar.11: calls $0.04
*** FLOP *** [Jc Tc Jh]
umar.11: checks 
SanderDecler: bets $0.08
umar.11: raises $0.24 to $0.32
SanderDecler: folds 
Uncalled bet ($0.24) returned to umar.11
umar.11 collected $0.28 from pot
*** SUMMARY ***
Total pot $0.29 | Rake $0.01 
Board [Jc Tc Jh]
Seat 2: SanderDecler (button) folded on the Flop
Seat 3: ehrli87 (small blind) folded before Flop
Seat 4: umar.11 (big blind) collected ($0.28)

Antworten auf die Frage(1)

Ihre Antwort auf die Frage