在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])}}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。