【发布时间】:2021-11-05 20:05:53
【问题描述】:
我正在寻找文件夹名称是否符合以下 powershell 中的正则表达式模式。
- 检查前 4 个字母是 HOST。
- 根据 c:\shortnameslist.csv 中的短名称检查接下来的 3 或 4 个字母。
- 检查最后三个字母是否为 END。
#$shortname = (Import-Csv "c:\shortnameslist.csv")
$foldername = "文件夹名称"
$regex = '\b^(HOST)($shortname)(END)\b'
$文件夹名-匹配$正则表达式
问题:
如何从正则表达式模式的 csv 列表中解析中间部分“短名称”。 谢谢。
【问题讨论】:
-
看来您只需要将第一列中的所有值抓取到列表/数组中,然后加入
|并使用$regex = '^HOST(?:$shortname)END$'。注意-match不区分大小写。使用-cmatch进行区分大小写的匹配。 -
@WiktorStribiżew 您需要在正则表达式两边加上双引号,否则变量
$shortname将不会展开 -
@Theo 是的,很抱歉在复制/粘贴时没有注意到。
标签: regex powershell shell scripting powershell-2.0