PowerShell 字符串集合 - 搜索



我在PowerShell中发现了一些奇怪的行为,并且无法弄清楚为什么它会以这种方式运行。 在以下三行代码中,为什么只有 -match 返回我想要的内容,而其他两个命令什么都不返回?

Get-Service | ?{$_.Name -like "sql"}
Get-Service | ?{$_.Name.Contains("sql")}
Get-Service | ?{$_.Name -match "sql"}      # This one works?

-like使用通配符匹配。如果不使用任何通配符,它将执行完全匹配(不区分大小写(。

[String]对象的.Contains方法区分大小写。

-match运算符使用正则表达式(不区分大小写(。由于模式中存在输入字符串(服务的名称(,因此它将返回$true

最新更新