gpt4 book ai didi

用于验证统一类型标识符的正则表达式

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

统一类型标识符 (UTI) 是在 Mac OS X 上识别文件类型的现代方法。在 Apple 的 documentation 中它说:

A UTI is defined as a string (CFString) that follows a reverse Domain Name System (DNS) convention.

但是,LaunchServices中与UTI相关的函数没有提供任何验证UTI的方法,即检查给定的字符串是否是UTI以及是否符合UTI字符串格式(即仅使用合法字符等)。

关于尿路感染的维基百科页面说:

UTIs use a reverse-DNS naming structure. Names may include the ASCII characters A-Z, a-z, 0-9, hyphen ("-"), and period ("."), and all Unicode characters above U+007F.[1] Colons and slashes are prohibited for compatibility with Macintosh and POSIX file path conventions.

验证 UTI 的正则表达式是什么样的?

最佳答案

通过进一步搜索,我在 Reverse domain name notation 上找到了这个维基百科页面:

^[A-Za-z]{2,6}((?!-)\\.[A-Za-z0-9-]{1,63}(?<!-))+$

编写了以下函数来验证包含 UTI 的 NSString:

BOOL UTTypeIsValid(NSString *inUTI) {
NSString *reverseDNSRegEx = @"^[A-Za-z]{2,6}((?!-)\\.[A-Za-z0-9-]{1,63}(?<!-))+$";
NSPredicate *test = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", reverseDNSRegEx];
return [test evaluateWithObject:inUTI];
}

关于用于验证统一类型标识符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34241591/

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