Я пытаюсь выполнить следующее регулярное выражение: ^(\$.)([\d]{1,10})?
Результат для строки $C14325
на странице https://regex101.com равен [0-2]:"$C"
и [2-7]:"14325"
.
Но когда следующий код выполняется с использованием NSRegularExpression
, он возвращается как один соответствующий элемент, а не как группа.
По сути, я пытаюсь сгруппировать эти результаты и найти способ, какой результат соответствует какому регулярному выражению.
NSString *regexStr=@"^(\\$.)([\\d]{1,10})?";
NSString *inputStr=@"$C14325";
NSError *regexError;
NSRegularExpression *aRegx=[NSRegularExpression regularExpressionWithPattern:regexStr options:NSRegularExpressionCaseInsensitive error:®exError];
NSArray *results=[aRegx matchesInString:inputStr options:0 range:NSMakeRange(0, inputStr.length)];
Был ответ в Именованные группы захвата с NSRegularExpression , но я думаю, что rangeAtIndex
вызовет исключение, если не может найти значение.