1

我想items=14-35regexto1435

/^items=([-\d,]+)$/在 PHP 中使用并想在 iPhone 项目中使用它。我在这里查看了 Apple 的文档和类似的问题,例如NSRegularExpression

NSError *error = nil;
NSRegularExpression *regex = 
 [NSRegularExpression regularExpressionWithPattern:@"/^items=([-\\d,]+)$/"
                 options:NSRegularExpressionCaseInsensitive error:&error];

NSString *str = @"items=14-35";
NSTextCheckingResult *match = 
  [regex firstMatchInString:str 
         options:NSMatchingAnchored 
         range:NSMakeRange(0, [str length])];

NSLog(@"MATCH : %@",match);

上面的代码输出NULL并且match.numberOfRanges = 0没有任何错误。

4

2 回答 2

2

开头和结尾的分隔符斜线不是正则表达式的一部分。从模式字符串中删除它们。

(有时,斜线用于在末尾将正则表达式与标志分隔,但 Cocoa 不会这样做。由于您明确传递标志,因此不需要斜线。)

于 2012-08-16T07:57:17.947 回答
0

如果您只想拆分字符串,也可以使用componentsSeparatedByString

当然,如果您需要验证输入数据,正则表达式可能会更好。

于 2012-08-16T07:49:28.563 回答