使用正则表达式获取多个可能字符串的子字符串

Using regex to get substring for multiple possible strings

我不太擅长使用 powershell 的正则表达式,需要一些帮助。我在这里使用正则表达式的原因是为了适应空格(以及我无法想到的任何其他文本,这是不期望的),因此垃圾被剥离以获得所需的值。

我正在尝试以下代码...

[String[]]$listOfStrings = @(' token = true ', ' token = false ', ' token = True ', ' token = False ')

For ($stringNumber = 0; $stringNumber -lt $listOfStrings.length; $stringNumber++)
{
    [String]$stringTest = ($listOfStrings[$stringNumber] -replace '*token*=','').Trim()
    Write-Host $stringTest
}

输出应该如下...

true
false
True
False

但是,我收到以下错误消息...

Invalid regular expression pattern: *token*=.
At :line:5 char:63
+       [String]$stringTest = ($listOfStrings[$stringNumber] -replace <<<<  '*token*=','').Trim()

非常感谢任何帮助。

使用:

[String]$stringTest = ($listOfStrings[$stringNumber] -replace '.*token.*=','').Trim()

注意 .*.

您以后在编写正则表达式时可能还想参考 https://regex101.com/。许多人发现该网站非常有用。