Met*_*hor -4 .net c# regex regex-negation regex-group
澄清:我不是要求一种模式.我问为什么一个模式在PHP和JavaScript中工作但在.Net中不起作用.
我试图从路径获取底层文件夹.该模式适用于PHP和JavaScript,但在.Net中返回意外结果.我想了解为什么.Net会返回它返回的模式.
鉴于这条道路:
"C:\ 0级\ 1级\ level2的\ FILENAME.EXT"
我想要匹配
"级别2"
这是我正在使用的模式:(编辑器不断取出斜杠,所以这是一张图片:
我希望匹配的内容:
(第二级)
C#匹配的内容:
C:\ 0级\ 1级
如何为.Net指定此模式以匹配底层文件夹?
如果您在文件系统上拥有正确的安全权限,则运行代码就不需要使用Regex,框架已经包含了您需要的内容FileInfo:
new FileInfo(@"c:\level0\level1\level2\filename.ext").Directory.Name
Run Code Online (Sandbox Code Playgroud)
如果你没有访问文件系统,你也可以使用Path.GetDirectoryName()比我认为的正则表达式更直接:
string directoryPath = Path.GetDirectoryName(@"c:\level0\level1\level2\filename.ext");
//outputs "c:\level0\level1\level2"
string folder = directoryPath.Split(Path.DirectorySeparatorChar).Last();
Run Code Online (Sandbox Code Playgroud)
这里两个答案的后者的小提琴
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |