scripts/Get-Matches.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function Get-Matches {
    [CmdletBinding()]
    param (
        [Parameter(Position = 0, Mandatory = $true)]
        [string]$string,

        [Parameter(Position = 1, Mandatory = $true)]
        [regex]$regex,

        [Parameter(Position = 2, Mandatory = $true)]
        [string]$group
    )
    $regex.Matches($string) `
      | Select-Object -ExpandProperty Groups `
      | Where-Object Name -eq $group `
      | Select-Object -ExpandProperty Value
  }