问题描述
我有一个比较两个变量的脚本,可能会发生一个变量包含左括号而不是右括号,就像示例中那样。然后 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!"
}