gpt4 book ai didi

powershell - 将数组匹配到多个正则表达式(来自数组)

转载 作者:行者123 更新时间:2023-12-02 22:55:58 24 4
gpt4 key购买 nike

我有一个字符串数组,比如说

$data = @(
"Haus",
"Maus",
"Laus",
"Schnitzel",
"Elefant"
)

我想根据数组中的多个正则表达式对其进行检查。

$regexChecks = @(
".*aus.*",
".*fant.*"
)

我试过这样的

$test = $data |? {$regexChecks -notmatch $_}

Write-Host $test

我希望只有字符串“Schnitzel”作为输出。

最佳答案

您可以将正则表达式作为字符串。这只会返回 Schnitzel

$data = @(
"Haus",
"Maus",
"Laus",
"Schnitzel",
"Elefant"
)

$Regex = '.*Schnitzel.*'

$test = $data | ? { $_ -match $Regex }

Write-Host $test

如果要检查多个正则表达式,请使用 | 分隔它们

这将输出 SchnitzelMaus

$Regex = '.*Schnitzel.*|.*Maus.*'

这将返回 SchnitzelMausLausHaus

$Regex = '.*Schnitzel.*|.*aus.*'

编辑:

你也可以有一个正则表达式数组,并用 | 加入它们:

$RegexArray = @(
'.*Schnitzel.*',
'.*Maus.*'
)

$Regex = $RegexArray -join '|'

$test = $data | ? { $_ -match $Regex }

关于powershell - 将数组匹配到多个正则表达式(来自数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53720445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com