使用包含和匹配同时?

时间:2013-08-08 21:52:46

标签: powershell powershell-v2.0

是否有一种简单的方法可以进行此类比较:

$s =  {"This is a dog" ,"This is a cat"}

$s | where {$_.Phrase -contains -match{"dog",cat","rat"} }

基本上,如果左侧包含右侧任何部分,我希望它返回。

或者我必须为右边的每件事做什么?

1 个答案:

答案 0 :(得分:2)

假设$s是一个字符串数组(而不是一个scriptblock),您可以为-match运算符创建适当的正则表达式,并使用它:

# ~> $s =  @("This is a dog" ,"This is a cat", "this is neither")

# ~> $s | where {$_ -match "dog|cat|rat" }
This is a dog
This is a cat