Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex Powershell开关和正则表达式_Regex_Powershell - Fatal编程技术网

Regex Powershell开关和正则表达式

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的

嗨,有人能帮我吗?我卡住了,无法让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 (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
   }
}