Powershell转义单引号

时间:2018-10-10 21:58:03

标签: regex powershell

我正在尝试编写脚本以浏览某些文件,但是它会删除'

之后的所有单词
$regex = "\[([\w|\s*-]+)\]([\w|\s]+(?:\[[\w|\s]+\])?.*)\s*-\s*([\w|,|\s.]+)";
Get-ChildItem -LiteralPath $p -Filter *.txt|
    ForEach-Object {
        $name = $_.BaseName
        $groups = [regex]::Match($name, $regex).Captures.Groups
        write-host $groups[1] $groups[2] $groups[3]
}

文件名格式 [测试]测试-测试“测试”

输出结果为 [测试]测试-测试,它会丢失任何单引号,我该如何转义

它如何获得 [Test]测试-Test'Test

1 个答案:

答案 0 :(得分:3)

在最后一个分组my @ary = @{ func(...) }; 中,没有包含单引号作为有效字符。只需在其中添加单引号即可:

([\w|,|\s.]+)