gpt4 book ai didi

regex - 抓包组号

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

我一直在 PowerShell 中使用 Regex 制作解析器,到目前为止它工作得很好,除了我遇到的那个问题。

\s*([a-zA-Z_]+)\s*=(?:\s*"(.*)"|([^;#]*))

我已经使这个 Regex 成功匹配这些场景:

Name= "Value" ;Comment

将在 = 之后的引号之间获取所有内容并忽略其余内容

Name=Value ;Comment

= 之后的所有内容都作为 ;# 作为值

这很好,但我遇到的问题是场景一将匹配为值 [2],场景二将匹配为值 [3]。这让我检查哪一个包含最终值的东西,我发现它不干净,而且我确定没有必要。那么问题来了:Value[2] 如何包含这两个不同组的结果? (使用完全不同的正则表达式不是问题,我已经多次重写了这个)

最佳答案

使用命名的捕获组而不是非捕获组:

$pattern = '\s*([a-zA-Z_]+)\s*=(?<value>\s*"(.*)"|([^;#]*))'
$value = ($string |Select-String -Pattern $pattern).Matches.Groups['value'].Value.Trim(' "')

关于regex - 抓包组号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42245269/

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