我希望使用PowerShell查找类似于以下行的匹配
结果应该返回1和3.但是我的下面的命令似乎不正确。你能帮忙吗?
Get-ChildItem "D:\PATH" -Recurse | Select-String -Pattern "(C)*mango" > "SearchMango.txt"
答案 0 :(得分:1)
Select-String
执行正则表达式匹配,并且在正则表达式中使用括号来对字符进行分组。您无法使用-SimpleMatch
参数,因为您正在那里寻找通配符。
因此,您需要使用\
(反斜杠)字符转义括号。此外,您需要.
前面的*
才能获得"任何"正则表达式中的字符。
Get-ChildItem "D:\PATH" -Recurse | Select-String -Pattern "\(C\).*mango" > "SearchMango.txt"
或者,如果您只在您的(C)和"芒果"
之间匹配字母字符或空格Get-ChildItem "D:\PATH" -Recurse | Select-String -Pattern "\(C\)[\w\s]*mango" > "SearchMango.
此外,Regexr(https://regexr.com/)是测试你的正则表达式的好网站。尝试样本列表中的第二个 - 只需记住设置"不区分大小写"标志。