Regex Powershell开关和正则表达式
嗨,有人能帮我吗?我卡住了,无法让regex使用powershell和switch语句。 在web上也找不到任何有用的内容 例如,如何过滤IP或7到8个数字的字符串Regex Powershell开关和正则表达式,regex,powershell,Regex,Powershell,嗨,有人能帮我吗?我卡住了,无法让regex使用powershell和switch语句。 在web上也找不到任何有用的内容 例如,如何过滤IP或7到8个数字的字符串 switch -regex ($buffer) { ($buffer -match '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') {} ($buffer -match {'\d{7,8}'}) {} } 使用大括号而不是圆括号,并完全省略switch的
switch -regex ($buffer)
{
($buffer -match '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')
{}
($buffer -match {'\d{7,8}'})
{}
}
使用大括号而不是圆括号,并完全省略switch的变量:
switch (1)
{
{ $buffer -match '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' }
{ Write-Output "IP Address" }
{ $buffer -match '\d{7,8}' }
{ Write-Output "7-8 digits" }
}
使用大括号而不是圆括号,并完全省略switch的变量:
switch (1)
{
{ $buffer -match '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' }
{ Write-Output "IP Address" }
{ $buffer -match '\d{7,8}' }
{ Write-Output "7-8 digits" }
}
在
-regex
模式下使用时,PowerShell希望案例条件为regex模式,除此之外:
switch -regex ($buffer)
{
'[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
{
# looks kinda like an IP
}
'\d{7,8}'
{
# just numbers
}
}
在
-regex
模式下使用时,PowerShell希望案例条件为regex模式,除此之外:
switch -regex ($buffer)
{
'[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
{
# looks kinda like an IP
}
'\d{7,8}'
{
# just numbers
}
}