像Powershell一样的操作员混淆

时间:2015-03-23 15:40:56

标签: regex powershell

为什么以下的powershell代码会给出false而不是true?

"ok" -like "??p*"

2 个答案:

答案 0 :(得分:2)

因为*是通配符/ glob而不是正则表达式元字符。

您的模式??p*并不是说"任何两个字符后跟零或多个' p'字符"它说"任何两个字符后跟一个' p'其次是"。

答案 1 :(得分:2)

您的通配符表达式至少需要3个字符,第三个字符为p。由于情况并非如此,表达式将返回false。

请参阅http://ss64.com/ps/syntax-wildcards.html