-CMatch两个变量

时间:2015-01-20 15:49:05

标签: regex variables powershell

正则表达式。好玩的东西。基本上我想要两个变量并做一个-match(或者在这种情况下是-cmatch)来查看整个变量并将其与另一个变量匹配。变量可以包括大写字母,数字,特殊字符。我只需要确保它们完全相同。

下面我正在寻找的例子:

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

$Check = $var1 -cmatch $var2

以上,$ Check回来“False”。它似乎不喜欢这些角色。

一旦工作,我会根据$ Check

做一些事情
If($check-eq$true) {do something}
ElseIf($check-eq$False)  {do something else}

我知道我完全错过了一些我忽略了某些地方的东西。我现在只是绞尽脑汁。

1 个答案:

答案 0 :(得分:4)

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

PS> $var1 -cmatch [regex]::escape($var2)
True

但是,你说你需要确保它们相同。如果是这种情况,-match是错误的操作符,您应该使用:

PS> $var1 -ceq $var2
True