【问题标题】:Powershell Regex matches as string [duplicate]Powershell正则表达式匹配为字符串[重复]
【发布时间】:2016-07-08 00:05:55
【问题描述】:

给定一个字符串:

$assemblyVersion = '[assembly: AssemblyFileVersion("8.0.0.866")]'

我有一个正则表达式可以找到程序集编号:

(\d+\.)(\d+\.)(\d+\.)(\*|\d+)

这些行确认它已找到匹配项:

$extractedVersion = $assemblyVersion -match "(\d+\.)(\d+\.)(\d+\.)(\*|\d+)";

然后如何从原始字符串$assemblyVersion 中提取匹配项?

阅读 this article 我不太明白你是怎么做到的......

我试过了:

$assemblyVersion

$extractedVersion = $assemblyVersion -match "?<assembly>(\d+\.)(\d+\.)(\d+\.)(\*|\d+)";

Write-Host "Extracted " $extractedVersion["assembly"]

没用。

我的正则表达式可能也不是最优的。

这个 stackoverflow answer 没有帮助

【问题讨论】:

  • 我已经说过你所引用的问题没有回答我的问题......这不是答案。我已经发布了答案...

标签: regex powershell


【解决方案1】:

我明白了:

$assemblyVersion = '[assembly: AssemblyFileVersion("8.0.0.866")]'

$assemblyVersion -match "(\d+\.)(\d+\.)(\d+\.)(\*|\d+)";

Write-Host "Extracted " $matches[0]

【讨论】:

    猜你喜欢
    • 2015-03-05
    • 2023-03-09
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多