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