Powershell 处理具有特殊字符的变量(开括号)

Powershell handle variable with special character (open bracket)

我有一个比较两个变量的脚本,变量可能包含左括号而不是右括号,就像示例中那样。然后出现 System.ArgumentException:“...没有足够的右括号..”

$test1="Testtext"
$test2="Testtext (3x(2x0,25"
if(!($test1 -match $test2)){ "test"}

我该如何处理?

-match 执行 正则表达式 匹配 - 使用 Regex.Escape() 自动转义逐字模式字符串中的任何可转义序列:

$text = 'Text with (parens)'
$pattern = '(par'

if($text -match [regex]::Escape($pattern)){
  "It worked!"
}