gpt4 book ai didi

objective-c - NSRegularExpression 错误 : Get into when false

转载 作者:行者123 更新时间:2023-11-29 11:10:42 27 4
gpt4 key购买 nike

我对 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 = yaoygonextModelName:yo* 时?

我想要做的是,当我的 objTmplName 以“yo...”开头时,它将为 true,否则这应该为 false。例如:

yooygo TRUE
yaygo FALSE
yayoyoyo FALSE

最佳答案

2012-07-30 10:59:48.799 MyApp[8470:707] objTmplName:yaoygo nextModelName:yo*

Why it get into when objTmplName = yaoygo and nextModelName:yo* ?

yo* 表示:

y 后跟任意数量的 o(可能没有)。

如果你想强制至少一个o,使用:

yo+

在您对问题进行编辑之后:

尝试使用正则表达式:^yo.*

关于objective-c - NSRegularExpression 错误 : Get into when false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11718289/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com