[英]Matching Variables using Powershell Match
我需要解析一些配置文件并找到匹配项。 我已经简化了这个问题。 为什么Powershell即使逃脱也不匹配反斜杠? 如果我从下面的代码中删除了退格键,它将起作用。
在$ a中找到$ b:
$a="lorum [\test] ipsum"
$b="[\test]"
([regex]::Escape($a )) -match ([regex]::Escape($b))
这是因为您要转义字符串本身。 -match
之前的部分应为普通字符串,而after之后的部分应为正则表达式模式。 您的命令实际上所做的是比较这些字符串(将它们视为普通字符串):
"lorum \[\\test\] ipsum" contains "[\test]"
从来没有这样。 尝试将字符串$a
与转义的模式$b
匹配:
$a="lorum [\test] ipsum"
$b="[\test]"
$a -match ([regex]::Escape($b))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.