Я получаю первую группу через NSRegularExpression, заменив попадание первой группой:
строка = "ABCDE"
шаблон = "Ь (с)."
=> хит = "bcd"
=> group = "c"
NSRegularExpression* regex=[NSRegularExpression regularExpressionWithPattern:pattern options:0 error:nil];
NSRange range=[regex rangeOfFirstMatchInString:self options:0 range:NSMakeRange(0, [self length])];
String hit=[self substringWithRange:range];
return [regex stringByReplacingMatchesInString:hit options:0 range:NSMakeRange(0, [hit length]) withTemplate:@"$1"];