加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

有没有更短的方法来从Powershell正则表达式中拉出群组?

发布时间:2020-12-14 06:33:47 所属栏目:百科 来源:网络整理
导读:在PowerShell中,我发现自己在这样的事情上一遍又一遍地进行了比赛: some-command | select-string '^(//[^#]*)' | %{some-other-command $_.matches[0].groups[1].value} 所以基本上运行一个生成文本行的命令,对于每行,我想在行内的正则表达式捕获(如果
在PowerShell中,我发现自己在这样的事情上一遍又一遍地进行了比赛:
some-command | select-string '^(//[^#]*)' |
     %{some-other-command $_.matches[0].groups[1].value}

所以基本上运行一个生成文本行的命令,对于每行,我想在行内的正则表达式捕获(如果匹配)上运行一个命令。似乎很简单上面的工作,但是有更短的方法来拉出正则表达式捕获组? Perl有1美元等等,如果我记得对了。宝马必须有类似的东西,对吗?我在SO上看过“$ matches”引用,但无法弄明白什么是设置。

我刚刚开始学习PowerShell btw。

您可以使用-match运算符将命令重新格式化为:
some-command | Foreach-Object { if($_ -match '^(//[^#]*)') { some-other-command $($matches[1])}}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读