我想提取[]括号之间的字符串

例如
原始字符串:@“这是一个测试[获取此字符串]。”

我想在[]之间获取提取字符串,即在此示例中为“获取此字符串”。

请在下面找到我的代码

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;

 }];


如果我做错了事,请告诉我。

谢谢。

最佳答案

看起来表达式是错误的,您需要转义斜杠(例如:@"\\[[^\\].]*\\]")。

10-08 19:51