gpt4 book ai didi

ios - 在 Cocoa 中使用 NSRegularExpression 时出现 Cocoa 错误 2048

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:57:49 24 4
gpt4 key购买 nike

我正在构建一个用于 iOS 应用程序解析器的正则表达式。这是我的代码:

NSRegularExpression *regex =
[NSRegularExpression regularExpressionWithPattern:@"(?<=#EXT[^\r\n]*[\r\n]+)[^#][^\r\n]+"
options:NSRegularExpressionAnchorsMatchLines
error:&regexError
];
if (regexError) {
NSLog(@"regexError: %@", regexError);
return nil;
}

来自 this answer .

这给出了这个错误:

regexError: Error Domain=NSCocoaErrorDomain Code=2048 "The operation couldn’t be completed. (Cocoa error 2048.)" UserInfo=0x8e86670 {NSInvalidValue=(?<=#EXT[^

Cocoa 错误 2048 是一个 NSFormattingErrorMinimum according to the docs ... 但实际上没有进一步的解释。

这是什么意思?

最佳答案

您是否尝试匹配新的换行符?你已经在你的正则表达式中插入了一个文字换行符......你需要插入换行符的代码。尝试转义为 \\n

编辑:

您必须转义所有 特殊字符串。例如,您希望正则表达式字符串包含 \+r,而不是换行符。所以你需要使用 \\r 而不是 \r

"(?<=#EXT[^\\r\\n]*[\\r\\n]+)[^#][^\\r\\n]+"

编辑 2:

在后视中不能有无限长度的字符串。因此,不允许 *+。这是根据 ICU regex reference . (NSRegularExpression 使用 ICU 正则表达式语法。)

关于ios - 在 Cocoa 中使用 NSRegularExpression 时出现 Cocoa 错误 2048,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39325090/

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