NSRegularExpressionに問題があります。それは私の間違いだと確信していますが、私には理解できません。私はこのコードを持っています:
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression
regularExpressionWithPattern: nextModelName
options:NSRegularExpressionCaseInsensitive
error:&error];
[regex enumerateMatchesInString:objTmplName options:0 range:NSMakeRange(0, [objTmplName length]) usingBlock:^(NSTextCheckingResult *match, NSMatchingFlags flags, BOOL *stop){
NSLog(@"objTmplName:%@ nextModelName:%@",objTmplName,nextModelName);
}];
そして、出力は次のとおりです。
2012-07-30 10:59:48.779 MyApp[8470:707] objTmplName:yaoygo nextModelName:\w*
2012-07-30 10:59:48.799 MyApp[8470:707] objTmplName:yaoygo nextModelName:yo*
2012-07-30 10:59:48.808 MyApp[8470:707] objTmplName:yaoygo nextModelName:yaoygo
なぜそれがいつobjTmplName = yaoygo
、そして入るのnextModelName:yo*
ですか?
私がやりたいのは、objTmplNameが "yo ..."で始まる場合、それはtrueになります。それ以外の場合、これはfalseになります。例えば:
yooygo TRUE
yaygo FALSE
yayoyoyo FALSE