Powershell中的Select-String正则表达式

时间:2017-04-24 08:02:59

标签: regex string powershell

我正在使用Regex在文件中选择一个字符串。我的问题是Select-String始终使用文件中的整行。这是我的代码:

($a = Select-String -path C:\Users\boriv\Desktop\Patrick\regex\spec.ini -pattern "PD[0-9]{3}[A-Z]{2}\n")

我的spec.ini文件如下所示:

[SPEC LOCATIONS]
DV920_DataSource=Central Objects - DV920
DV920_Package=DV920FA
PD920_DataSource=Central Objects - PD920
PD920_Package=PD920FA
PS920_DataSource=Central Objects - PS920
PS920_Package=PS920FA
PY920_DataSource=Central Objects - PY920
PY920_Package=PY920FA

作为输出,我只需要行中的PD920FA:

  

PD920_Package = PD920FA

除了通过Select-String之外,还有另一种方法吗?

我也曾尝试使用Where Object但它没有用。

我的正则表达式在这里工作的是链接: Regex

1 个答案:

答案 0 :(得分:1)

您可以将[regex]::match .NET方法与Get-Content

一起使用
[regex]::match((Get-Content spec.ini),"PD[0-9]{3}[A-Z]{2}").value