• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-11 17:26:25 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在构建一个用于 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 “操作无法完成。(Cocoa 错误 2048。)” UserInfo=0x8e86670 {NSInvalidValue=(?<=#EXT[^

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

这是什么意思?



Best Answer-推荐答案


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

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap