我的数据是不同深度文件的路径,例如:
Dir1\Dir2\file1.ext
Dir1\Dir2\Dir3\file2.ext
我想要实现的是过滤那些精确深度级别的路径。现在,我想只有那些深度为2级的路径:
Dir1\Dir2\*
我使用Powershell找到匹配项。我创造的是:
'[0-9a-zA-Z]*\\{1}[0-9a-zA-Z]*\\{1}[0-9a-zA-Z]*'
我认为这是:任何数量的字母和数字,然后是一个反斜杠,再一个字母和数字,一个反斜杠,最后是任意数量的字母和数字。我原以为我会找到里面只有两个反斜杠的字符串,但当我用名字检查它时有三个反斜杠:
PS > "Dir1\Dir2\Dir3\file1.ext" -match '[0-9a-zA-Z]*\\{1}[0-9a-zA-Z]*\\{1}[0-9a-zA-Z]*'
我也得到了积极的配对,我认为这不应该奏效。我的失望有多大。我的错误或误解在哪里?我做错了什么?