我想用items=14-35
解析regex
到14
和35
我在PHP中使用/^items=([-\d,]+)$/
并希望在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
没有任何错误。
答案 0 :(得分:2)
开头和结尾的分隔符斜杠不是正则表达式的一部分。从模式字符串中删除它们。
(有时,斜杠用于从末尾的标志界定正则表达式,但Cocoa不会这样做。因为你明确地传递了标志,所以不需要斜杠。)
答案 1 :(得分:0)
如果您要做的就是拆分字符串,您也可以使用componentsSeparatedByString。
当然,如果您需要验证输入数据,正则表达式可能会更好。