使用这个正则表达式测试器:http: //myregextester.com/index.php 表示我的正则表达式应该可以工作:正则表达式:
{name:"(\w*?)", rank:([\d]+)},
要捕获的样本数据:
{name:"AARON", rank:77},
{name:"ABBEY", rank:1583},
这是我尝试运行的 powershell 脚本,用于将类似 json 的数据解析到 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"
reg-ex 似乎从不返回值(我猜它是 MS 正则表达式与 Perl 正则表达式混合,但我无法识别),所以我不确定问题可能是什么。任何帮助表示赞赏!