首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式和相对文件路径

正则表达式和相对文件路径
EN

Stack Overflow用户
提问于 2008-10-29 12:47:27
回答 4查看 2.4K关注 0票数 4

我正在尝试使用C#匹配相对路径中的文件夹名称。我使用表达式:"/(.*)?/",将匹配从左到右再从右到左颠倒过来。当我将"images/gringo/"传递给正则表达式时,它正确地给出了第一组中的"gringo" -我只对括号之间的内容感兴趣。当我传入"images/"时,它无法获取"images"。我尝试过使用[/^][/$],但都不起作用。

谢谢,大卫

EN

回答 4

Stack Overflow用户

发布于 2008-10-29 12:50:12

您最好使用System.IO.DirectoryInfo类来解释您的相对路径。然后,您可以使用其成员来选取文件夹或文件名:

代码语言:javascript
复制
DirectoryInfo di = new DirectoryInfo("images/gringo/");
Console.Out.WriteLine(di.Name);

这比你可以使用的任何正则表达式都要安全得多。

票数 13
EN

Stack Overflow用户

发布于 2008-10-29 12:50:21

不要这样做。使用System.IO.Path拆分路径部分,然后对它们进行比较。

票数 3
EN

Stack Overflow用户

发布于 2008-10-29 12:52:49

这样如何:

代码语言:javascript
复制
"([^/]+)/?$"

字符串结束1或更多非/ characters

  • Optional /

  • of string

但正如@Blair Conrad所说-最好是用一个类来为你封装这个……

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/246656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档