Я пытаюсь сопоставить слово вперед и назад в строке, но оно не перехватывает все совпадения.Например, в поиске слова «AB» в строке «AAABAAABAAA» я создаю и использую регулярное выражение / AB | BA /, но оно соответствует только двум подстрокам «AB» и игнорирует подстроки «BA».*
Я использую RegexKitLite на iPhone, но я думаю, что это более общая проблема регулярных выражений (я вижу такое же поведение в онлайн-тестерах регулярных выражений).Тем не менее, вот код, который я использую для перечисления совпадений:
[@"AAABAAABAAA" enumerateStringsMatchedByRegex:@"AB|BA" usingBlock:
^(NSInteger captureCount,
NSString * const capturedStrings[captureCount],
const NSRange capturedRanges[captureCount],
volatile BOOL * const stop) {
NSLog(@"%@", capturedStrings[0]);
}];
Вывод:
AB
AB