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

标签 ios regex nsregularexpression

我在 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/

相关文章:

ios - 如何在 iOS 中使用 NSRegularExpression 替换字符串?

swift - 无法使用带有 unicode 字符的电子邮件正则表达式找到匹配项

ios - 我的开发人员退出,如何编辑并继续开发 ipa 文件(Half Built iOS App)

ios - TableView圆角和阴影

java - 多行正则表达式

javascript - URL 参数 : Line break %0A causing JSON. 解析为阻塞

ios - 如何在 NSString 中捕获多个特殊指示的 **characters** 并在它们之间加粗?

iphone - 带字典的iphone数组索引

ios - 在不同的显示器上 react native 相同大小的圆圈

python - 如何从 txt 文件创建矩阵/数组?