Regex-从各个子目录查找文件名
我有一个在Windows和Unix之间跨平台的函数,我需要从以下内容中提取文件名:Regex-从各个子目录查找文件名,regex,Regex,我有一个在Windows和Unix之间跨平台的函数,我需要从以下内容中提取文件名: ../../Media/foo-blah\\bar-name\\ 其中分隔符可以是正斜杠/、反斜杠\或双反斜杠\\。我需要一个正则表达式,它只给我文件名减去后面的斜杠 字符串不能以任何斜杠结尾,也可以以上述任何一种斜杠结尾 我无法为应用程序使用专有的脚本语言,因此我无法运行shell或Perl,但我可以分步进行匹配 有什么好主意吗?如果你不想要一个看起来像标点符号之神的正则表达式,那它就到处都是 字符串替换为/
../../Media/foo-blah\\bar-name\\
其中分隔符可以是正斜杠/、反斜杠\或双反斜杠\\。我需要一个正则表达式,它只给我文件名减去后面的斜杠
字符串不能以任何斜杠结尾,也可以以上述任何一种斜杠结尾
我无法为应用程序使用专有的脚本语言,因此我无法运行shell或Perl,但我可以分步进行匹配
有什么好主意吗?如果你不想要一个看起来像标点符号之神的正则表达式,那它就到处都是 字符串替换为/。 字符串替换//为/。 带尾随/如果有。 在最后一个/上拆分。 如果你写一个正则表达式,你会得到一个充满[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ?:^[.]*\\/]?\s*\w+?\s*[\\/]*\s*$ 或 ?:^[.]*|[\\/]?\s*[^\\/]+?? 或 ?:^[.]*\\/]?\s*[]+?\s*[\\/]*\s*$
是的,对我来说,看起来像一堆/////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/p>Hm。上面的路径不能是Windows路径,是吗?在类Unix系统上,文件名应为foo blah\\bar name\\。后面的斜杠只出现在目录中,从更广泛的意义上说,目录是文件,一切都是文件。