Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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 -CMatch两个变量_Regex_Variables_Powershell - Fatal编程技术网

Regex -CMatch两个变量

Regex -CMatch两个变量,regex,variables,powershell,Regex,Variables,Powershell,正则表达式。有趣的东西。本质上,我想要取两个变量,并进行-match(或者在本例中是-cmatch)以查看整个变量,并将其与另一个变量进行匹配。变量可以包括大写字母、数字、特殊字符。我只需要确保它们是一样的 下面是我正在寻找的示例: $var1 = "Hello32@^78" $var2 = "Hello32@^78" $Check = $var1 -cmatch $var2 上面,$Check返回“False”。它似乎不喜欢这些角色 一旦工作了,我会根据那张美元支票做点什么 If($che

正则表达式。有趣的东西。本质上,我想要取两个变量,并进行-match(或者在本例中是-cmatch)以查看整个变量,并将其与另一个变量进行匹配。变量可以包括大写字母、数字、特殊字符。我只需要确保它们是一样的

下面是我正在寻找的示例:

$var1 = "Hello32@^78"
$var2 = "Hello32@^78"

$Check = $var1 -cmatch $var2
上面,$Check返回“False”。它似乎不喜欢这些角色

一旦工作了,我会根据那张美元支票做点什么

If($check-eq$true) {do something}
ElseIf($check-eq$False)  {do something else}

我知道我完全错过了我在某处忽略的东西。我现在正绞尽脑汁呢。

你需要避开你所比较的表达式中的特殊字符。i、 e:

PS> $var1 -cmatch [regex]::escape($var2)
True
不过,您说您需要确保它们是相同的。如果是这种情况,
-match
是错误的运算符,您应该使用:

PS> $var1 -ceq $var2
True

您需要转义要比较的表达式中的特殊字符。i、 e:

PS> $var1 -cmatch [regex]::escape($var2)
True
不过,您说您需要确保它们是相同的。如果是这种情况,
-match
是错误的运算符,您应该使用:

PS> $var1 -ceq $var2
True

谢谢你的快速回复!非常好,非常感谢!谢谢你的快速回复!非常好,非常感谢!