Ios NSRegularExpression搜索字符串“*字符串*”;

Ios NSRegularExpression搜索字符串“*字符串*”;,ios,regex,nsregularexpression,Ios,Regex,Nsregularexpression,我有一个字符串列表,我希望搜索字符串,就像一个平均值一样,它只出现在中间,而不是第一个或最后一个。我的代码如下: 当我运行所有3个case时都为true,但只有case“う上あ" 是真的 -(void)viewDidLoad{ [超级视图下载]; //从nib加载视图后,执行任何其他设置。 NSArray*数组=@[@”上あう", @"う上あ", @"あう上"]; NSString*stringNeedToFind=@”*上*"; for(NSString*数组中的字符串){ if([[sel

我有一个字符串列表,我希望搜索字符串,就像一个平均值一样,它只出现在中间,而不是第一个或最后一个。我的代码如下: 当我运行所有3个case时都为true,但只有case“う上あ" 是真的

-(void)viewDidLoad{
[超级视图下载];
//从nib加载视图后,执行任何其他设置。
NSArray*数组=@[@”上あう", @"う上あ", @"あう上"];
NSString*stringNeedToFind=@”*上*";
for(NSString*数组中的字符串){
if([[self-regularExpressionFromValue:stringNeedToFind]匹配数安装:字符串选项:0范围:NSMakerRange(0,string.length)]){
NSLog(@“String containt.”);
}
}
}
-(NSRegularExpression*)正则表达式fromValue:(NSString*)值
{
NSString*模式=[NSRegularExpression-escapedPatternForString:value];
模式=[pattern StringByReplacingOfString:@“\\*”和字符串:@“*”];
pattern=[pattern StringByReplacingOfString:@“\\?”和字符串:@.”的重复发生率;
模式=[pattern stringByReplacingOccurrencesOfString:@.*.*.*”和字符串:@“\\*”];
pattern=[pattern StringByReplacingOfString:@“…”带字符串:@“\\?\\?\?\?”;
模式=[NSString stringWithFormat:@“^%@$”,模式];
返回[NSRegularExpression regular expressionwithpattern:pattern选项:0错误:NULL];

}
据我所知,星号(*)用作运算符,用于检查字符(集合)是否存在0次或更多次。我认为您应该使用加号(+),例如:^+上.+$, 意思是在开头和结尾应该有一个或多个字符。

顺便说一句,我还没有测试过