这听起来像是一个愚蠢的问题,但我不明白为什么反引号字符的存在无法与Like运算符进行比较。
例如:
> 'a' -Like 'a'
True # Seems logical to me
> '`' -Like '`'
False # Why does this return false ?
感谢您的帮助
答案 0 :(得分:3)
反引号(`
)在PowerShell中用作通配符模式的转义字符,因此模式`
被解释为只是一个空字符串。
像这样逃避它:
'`' -like '``'
请注意,`
也是 在PowerShell中可扩展字符串(即双引号字符串文字)的转义字符,在这种情况下,您必须 double-逃脱它:
'`' -like "````"
答案 1 :(得分:0)
即使在.net中也不起作用。
$pattern = [WildcardPattern]::new('`')
$pattern.IsMatch('`')
False