gpt4 book ai didi

regex - 带有Select-String的PowerShell RegEx不返回任何行

转载 作者:行者123 更新时间:2023-12-03 01:21:56 25 4
gpt4 key购买 nike

使用此reg-ex测试器: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 regex与Perl regex的混合,但我无法识别),所以我不确定问题可能是什么。任何帮助表示赞赏!

最佳答案

问号在不同的环境中通常具有不同的功能(在这种情况下,我认为它的意思是“将前面的字符匹配0或1次”)。我怀疑它是否与Perl相同。代替

"(\w*?)"

尝试:
"([^"]*)"

关于regex - 带有Select-String的PowerShell RegEx不返回任何行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11639227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com