文件名可以是:
1234_billing.txt 1234billling.txt 123_billing.txt 123billing.txt
如何在所有4种情况下提取唯一的数字? 我试过了-拆分和$\u。BaseName。子字符串(),但似乎无法正确获取它。
假设文件名在数组变量中 $flist ,以下操作将实现此目的:
$flist
foreach ($file in $flist) { if ($file -match "\d+") { $matches.value } }
这个 -match 运算符将正则表达式模式作为其右操作数;在这种情况下,我们使用该模式 \d+ 表示任意非零个连续数字。运算符返回 $true 或 $false ,并将匹配的子字符串存储在 $matches . 还有更多关于 -匹配 操作员位于 Get-Help about_Operators ,每个人都可以使用 reference for regular expressions .
-match
\d+
$true
$false
$matches
-匹配
Get-Help about_Operators