我想提取[]括号之间的字符串
例如
原始字符串:@“这是一个测试[获取此字符串]。”
我想在[]之间获取提取字符串,即在此示例中为“获取此字符串”。
请在下面找到我的代码
NSMutableString *predicateString = [[NSMutableString alloc] initWithFormat:@"%@",@"this is a test [to get this string]."];
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\[[^\].]*\]"
options:NSRegularExpressionCaseInsensitive
error:&error];
NSMutableArray *rangeArray = [[NSMutableArray alloc] init];
__block NSUInteger count = 0;
[regex enumerateMatchesInString:predicateString options:0 range:NSMakeRange(0, [predicateString length]) usingBlock:^(NSTextCheckingResult *match, NSMatchingFlags flags, BOOL *stop){
NSRange matchRange = [match range];
matchRange.length = matchRange.length+1;
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
NSLog(@"matchRange.location: %d",matchRange.location);
NSLog(@"matchRange.length: %d",matchRange.length);
if (++count >= 100) *stop = YES;
}];
如果我做错了事,请告诉我。
谢谢。
最佳答案
看起来表达式是错误的,您需要转义斜杠(例如:@"\\[[^\\].]*\\]"
)。