我正在尝试在字符串中向前和向后匹配一个单词,但它没有捕获所有匹配项。例如,在字符串“AAABAAABAAA”中搜索单词“AB”,我创建并使用正则表达式 /AB|BA/,但它只匹配两个“AB”子字符串,而忽略了“BA”子字符串。
我在 iPhone 上使用 RegexKitLite,但我认为这是一个更普遍的正则表达式问题(我在在线正则表达式测试人员中看到了相同的行为)。不过,这是我用来枚举匹配项的代码:
[@"AAABAAABAAA" enumerateStringsMatchedByRegex:@"AB|BA" usingBlock:
^(NSInteger captureCount,
NSString * const capturedStrings[captureCount],
const NSRange capturedRanges[captureCount],
volatile BOOL * const stop) {
NSLog(@"%@", capturedStrings[0]);
}];
输出:
AB
AB