gpt4 book ai didi

ios - 判断路径是否为根目录的正则表达式

转载 作者:行者123 更新时间:2023-11-28 21:54:43 24 4
gpt4 key购买 nike

我在 iOS 中,但几乎任何语言都可以翻译。

我正在尝试编写一个正则表达式来匹配根目录:

即:

第一个/应该匹配
First/file.txt 不应该匹配
第一个/下一个不应该匹配
First/next/file.txt 不应该匹配

所以我认为逻辑应该从行首开始匹配除“/”之外的任何字符,然后只匹配“/”一次,并且那一次应该在字符串的末尾。

我有:

    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[^\\/]*\\/$" options:NSRegularExpressionCaseInsensitive error:&error];

NSUInteger matches = [regex numberOfMatchesInString:info.name options:NSRegularExpressionCaseInsensitive range:NSMakeRange(0, [info.name length])];
if (matches > 0) {
NSLog(@"match");
} else {
NSLog(@"not a match");
}

但它没有像它应该的那样匹配。

思考

[^\\/]* 

将匹配所有不是“/”的字符

然后

\\/$

将匹配字符串末尾的“/”。

我哪里错了?

最佳答案

正则表达式为:

^[^/]*/$

这确保字符串以斜杠结尾,并且它之前可以包含 0 个或多个非斜杠字符。

另一个解决方案(没有正则表达式)是这样的:

NSString *name = ... // some path
if (name.length && [name rangeOfString:@"/"].location == name.length - 1) {
// root directory
}

关于ios - 判断路径是否为根目录的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26959042/

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