この正規表現テスターを使用する: http://myregextester.com/index.php 私の正規表現が動作することを示します: 正規表現:
{name:"(\w*?)", rank:([\d]+)},
キャプチャするサンプル データ:
{name:"AARON", rank:77},
{name:"ABBEY", rank:1583},
json のようなデータを解析して powershell グリッドに入れるために、実行しようとしている powershell スクリプトを次に示します。
$regex = '{name:"(\w*?)", rank:([\d]+)},'
(Select-String -Path EmailDomains.as -Pattern $regex -AllMatches).matches |foreach {
$obj = New-Object psobject
$obj |Add-Member -MemberType NoteProperty -Name Rank -Value $_.groups[1].value
$obj |Add-Member -MemberType NoteProperty -Name Name -Value $_.groups[0].value
$obj
} |Out-GridView -Title "Test"
正規表現は値を返さないようです (MS 正規表現と Perl 正規表現の混同だと思いますが、特定できません)。そのため、何が問題なのかわかりません。どんな助けでも大歓迎です!