Fixed numbered/named groups in $Matches

The previous code would mistakenly include numbered groups with a string key in `$Matches` which PowerShell does not do. Furthermore, named groups may not start with a digit anyway. A combination of `GetGroupNames` and `GetGroupNumbers` seems impossible to get to work correctly, but `GetGroupNames` yields the keys for the hashtable that PowerShell also sets; we just need to massage the numbers a bit.