我正在使用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
答案 0 :(得分:1)
您可以将[regex]::match
.NET方法与Get-Content
:
[regex]::match((Get-Content spec.ini),"PD[0-9]{3}[A-Z]{2}").value