【发布时间】:2021-11-15 23:13:30
【问题描述】:
我正在建立一个白名单比较。它完美地工作,但我想添加包含通配符或正则表达式的字符串的功能,在表示白名单的数组中。
反过来比较——在 installed_software 变量中使用通配符很容易,但我不确定如何比较可能是也可能不是正则表达式的字符串数组。我是否需要迭代白名单中的每个元素并进行正则表达式比较?这听起来时间紧迫。
$xxxxx | foreach-object {
$installed_software = $_
# Compare the installed application against the whitelist
if ( -not $whitelist.Contains( $installed_software ) )
{
$whitelist_builder += "$installed_software"
}
【问题讨论】:
-
你能举个例子说明你如何填充
$whitelist吗? -
向数组添加值至少与读取它们一样昂贵。 特别是如果您使用increase assignment operator (
+=) to create a collection。相反,我建议使用HashSet。
标签: arrays regex powershell