gpt4 book ai didi

java - Java 的 Matcher.lookingAt() 在 Objective C 中的等价物

转载 作者:行者123 更新时间:2023-12-03 20:12:04 25 4
gpt4 key购买 nike

我正在将一个框架从 Java 移植到 Objective C,它在很大程度上依赖于正则表达式。不幸的是,Java 正则表达式 API 与 Objective C API 有很大不同。

我正在尝试使用 NSRegularExpression 类来评估正则表达式。在 Java 中则完全不同:您必须使用 Pattern 和 Matcher 类。

有些事情我想不通(除其他外)。 Objective C 中 Matcher.lookingAt() 的等价物是什么?把它放在代码中。以下代码的 Objective C 翻译是什么?

Pattern pattern = Pattern.compile("[aZ]");
boolean lookingAt = pattern.matcher("abc").lookingAt();

感谢知道的人! (顺便说一下,上面的示例将 true 分配给了 lookingAt boolean 值)

最佳答案

我想通了!这是 Java 代码的 NSRegularExpression 等价物:

NSError *error = nil;
NSRegularExpression *expression = [NSRegularExpression regularExpressionWithPattern:@"[aZ]" options:0 error:&error];
if (error) {
// Do something when an error occurs
}
NSString *candidate = @"abc";
BOOL lookingAt = [expression numberOfMatchesInString:candidate options:NSMatchingAnchored range:NSMakeRange(0, candidate.length)] > 0;

这里重点在于执行表达式时的NSMatchingAnchored选项!文档说:

NSMatchingAnchored Specifies that matches are limited to those at the start of the search range. See enumerateMatchesInString:options:range:usingBlock: for a description of the constant in context.

这正是我要找的!

关于java - Java 的 Matcher.lookingAt() 在 Objective C 中的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10161599/

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