PowerShell-匹配CSV文件中的多个字符串条目

PowerShell-匹配CSV文件中的多个字符串条目,powershell,Powershell,我正在尝试在CSV文件中匹配多个字符串。示例CSV如下: Hostname,IpAddress,Domain x200apple300,1.2.3.4,contoso.local x200banana300,1.2.3.5,contoso.local x200orange300,1.2.3.6,contoso.local x200kiwi300,1.2.3.7,contoso.local 示例代码: $csv = Import-Csv "C:\Files\csvExample.csv

我正在尝试在CSV文件中匹配多个字符串。示例CSV如下:

Hostname,IpAddress,Domain
x200apple300,1.2.3.4,contoso.local
x200banana300,1.2.3.5,contoso.local
x200orange300,1.2.3.6,contoso.local
x200kiwi300,1.2.3.7,contoso.local
示例代码:

$csv = Import-Csv "C:\Files\csvExample.csv"
$csv | Where-Object {$_.Hostname -match "kiwi"}
# All OK. Now match multiple hostnames.

$csv | Where-Object {$_.Hostname -match "kiwi", "orange"}
# Not working.

$csv | Where-Object {$_.Hostname -contains "apple", "banana"}
# Not working

在本例中,如何匹配多个主机名?我做错了什么。

匹配采用正则表达式,因此您可以使用
运算符对多个值进行筛选

$csv = Import-Csv "C:\Files\csvExample.csv"
$csv | Where-Object {$_.Hostname -match "kiwi|orange|banana"}

-match
操作符希望右侧有一个正则表达式。我不确定
$Value-match$A,$B
是什么意思;我看不到它的文档,而且它似乎总是从我的输入返回false


$\主机名-包含“苹果”,“香蕉”
是向后的。您需要
{$\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;e、 例如,
'foo'-匹配'o','o'
$true