繁体   English   中英

使用Powershell Match匹配变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM