Powershell избежать одиночных кавычек - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь написать скрипт для просмотра какого-либо файла, но он продолжает удалять любые слова после '

$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'Test

Выход получен как [Тест] Тест - Тест он пропускает любые одинарные кавычки, как мне избежать этого

как получить [Тест] Тест - Test'Test

1 Ответ

0 голосов
/ 11 октября 2018

Вы не включаете одинарную кавычку в качестве допустимого символа в последнюю группу ([\w|,|\s.]+).Просто добавьте туда одну цитату, чтобы включить это:

$regex = "\[([\w\s*-]+)\]([\w\s]+(?:\[[\w\s]+\])?.*)\s*-\s*([\w,\s.']+)"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...