PowerShell имеет очень мощную встроенную поддержку Regex, и вы можете довольно легко получить значение идентификатора из ваших команд git, например. Мы начнем с захвата вывода вашей команды git (в моем случае я вставил его в переменную, но вы также можете запустить $CommitMsg = git commit 202847
, чтобы записать вывод в переменную другим способом:)
$r="Merge: d9335ae 7d12d50
Author: name\name <mail@mail.com>
Date: Wed Oct 31 12:55:00 2018 -0500
id:202847 Merge branch 'release/2.6.0' into release/3.0.0
# Conflicts:
# configuration/path/path"
Далее я использую ускоритель регулярных выражений PowerShell ([regex]
, PowerShell имеет много полезных ускорителей! ), чтобы просмотреть переменную $r
на предмет совпадений с шаблоном регулярных выражений id:.....\w+
, который выглядит для строки, которая начинается с id:
и имеет шесть символов после нее, затем пробел.
[regex]::Match($r, "id:(.....)\w+").Value
>id:202847
Вы можете сохранить этот вывод в переменной следующим образом:
$CommitID = [regex]::Match($r, "id:(.....)\w+").Value
, а затем внедрите это в другую команду, используя расширение строки, например:
"TP $CommitID Professional Lines: 2,800,000 Policy Aggregate Limit update"
>TP Id:202847 Professional Lines: 2,800,000 Policy Aggregate Limit update