gpt4 book ai didi

regex - 使用 powershell 验证模式后获取下一个字符串

转载 作者:行者123 更新时间:2023-12-05 02:25:47 25 4
gpt4 key购买 nike

我有一个文本文件,内容可以是:

debug --configuration "Release" \p corebuild

或者:

-c "Dev" debug 

现在我必须验证文件以查看它是否有任何匹配 --configuration-c 的模式并打印它旁边的字符串

  • 模式 1 - 应该是 Release
  • 模式 2 - 它应该是 Dev

如何在单个命令中实现这一点?

我在下面尝试过,但不确定如何只提取文本中的版本,我一次只尝试查看 1 个模式

PS Z:\> $text = Get-Content 'your_file_path' -raw
PS Z:\> $Regex = [Regex]::new("(?<=\-\-configuration)(.*)")
PS Z:\> $Match = $Regex.Match($text)
PS Z:\> $Match.Value

**Release /p net**

任何帮助将不胜感激

最佳答案

如果我理解正确并且您只关心提取参数的参数而不关心使用了哪个参数,那么这可能会成功:

$content = Get-Content 'your_file_path' -Raw

$re = [regex] '(?i)(?<=(?:--configuration|-c)\s")[^"]+'
$re.Matches($content).Value

参见 https://regex101.com/r/d2th35/3了解详情。

根据评论中的反馈 --configuration-c 可以一起出现,因此 Regex.Matches需要找到所有事件。

关于regex - 使用 powershell 验证模式后获取下一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74311772/

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