使用正则表达式获取多个可能字符串的子字符串
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/。许多人发现该网站非常有用。
我不太擅长使用 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/。许多人发现该网站非常有用。