嗨,我需要一个获取路径扩展名的正则表达式,但如果它没有扩展名,则它不显示任何内容或“空白”一词(<-首选输出)
这是我所拥有的,它适用于带有扩展名的路径,但如果路径没有扩展名,当我导出到 CSV 时,我会得到一个完整的路径名
我所拥有的:扩展名 = $matches.fullname -replace '。.(. )','$1'
例子
\Server\ShareFile\RootFolder1.2.3\Folder1.2.3\Subfolder2\Excel.csv
在这种情况下,它只会得到 .csv
\Server\ShareFile\RootFolder1.2.3\Folder1.2.3\Subfolder2\RandomFileNoExtension
在这种情况下,它不会显示任何内容,或者如果可能的话“空白”
使用这个正则表达式:
\.[^.]+$
Run Code Online (Sandbox Code Playgroud)
示例用法
if ($filename -cmatch '\.[^.]+$') {
$extension = $matches[0]
}
Run Code Online (Sandbox Code Playgroud)
解释
\. 匹配一个点[^.]+ 匹配不是点的字符$锚断言,我们是在字符串的结束