簡體   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