1
Аналогичный вопрос: Recursive pattern in regex, но в Objective-c.Рекурсивный рисунок в NSRegularExpression
Я хочу найти диапазоны или подстроки внешних кронштейнов.
Пример ввода:
NSString *input = @"{a {b c}} {d e}";
Пример результата:
// yeah, I know, we can't put NSRange in an array, it is just to illustrate
NSArray *matchesA = @[NSMakeRange(0, 9), NSMakeRange(10, 5)]; // OK
NSArray *matchesB = @[NSMakeRange(1, 7), NSMakeRange(11, 3)]; // OK too
NSArray *outputA = @[@"{a {b c}}", @"{d e}"]; // OK
NSArray *outputB = @[@"a {b c}", @"d e"]; // OK too
К сожалению, NSRegularExpression не принимает ?R
, по-видимому. Любая альтернатива, соответствующая внешним скобкам?
ICU регулярное выражение вкус не поддерживает рекурсию. Вам нужно будет разобрать строки «вручную». И FYI, вы, должно быть, имели в виду '(? R)', а не '\ R'. –