如何在powershell中的正则表达式中插入变量

use*_*495 3 regex powershell

我正在尝试查看文件中是否有某个输入的条目,所以我使用正则表达式来查询每一行:

__CODE__

其中$ fileName是其他地方定义的输入.

如何更改正则表达式以插入变量而不是匹配'$ fileName'?

Mar*_*cus 9

除了给出的答案之外,$ fileName可以包含诸如'.'之类的字符.或'\'你应该逃避它如下:

cat $file | where {$_ -match "^script\\$([regex]::Escape($fileName)) -*"}
Run Code Online (Sandbox Code Playgroud)

Escape方法将转义像"."这样的位.以及对于你.

例如

[regex]::Escape(".\bar.txt")
Run Code Online (Sandbox Code Playgroud)

\.\\bar\.txt
Run Code Online (Sandbox Code Playgroud)