私はcsvを解析して、2つのカテゴリにエクスポートします:powershellを使用して一致と不一致。正規表現の奇数値との比較
csvファイル内のデータは、以下のようにフォーマットされます。
SamAccountName xx9999xx aa0000aa ab0909xc etc
私は(同じ私はaa0000bbの命名規則に従ってくださいすべての一致をフィルタリングし、csvファイルにそれをエクスポートすることができます正規表現を必要とします コンベンション(それは奇妙なので):最初の2はazから4までの文字、次に0から9までの数字、2文字のazです。あなたは今aa0000aaとby7690zi
を持つことができることを意味し、私は持っている:
Import-Csv "C:\Path\to\csv" | ForEach {
$Name =$_.SamAccountName;
$Name -Match '[a-z]+[a-z]+[0-9]+[0-9]+[0-9]+[0-9]+[a-z]+[a-z]'} | Out-Null; $Matches
または
ForEach ($Name in $CSV)
{
If ($Name -Match '[a-z]+[a-z]+[0-9]+[0-9]+[0-9]+[0-9]+[a-z]+[a-z]')
{
Write-Host "$Matches"
}else{
Write-Host "No Match"
}
}
はどちらも正しくない出力ランダムなものに思えます。 私は次のようで一致させる方法があることを(本当に望んで)思っている:私は、通常の'xx9999xx' -Match '[a-z]+[a-z]+[0-9]+[0-9]+[0-9]+[0-9]+[a-z]+[a-z]'
を実行することができ、それがtrueを返した後、
PS C:\Windows> $Matches
Name Value
---- -----
0 xx9999xx
a-z #For the first set of letters
0-9 #For the 4 digits
a-z #For the second set of letters
ie [a-z{2}]+[0-9{4}]+[a-z{2}]
しかし、私はまだドンそれを大規模に行う方法を理解していない。
サンプルの入力と出力を提供できますか? 1行の入力に複数のaa0000aaがありますか? – Arluin
@Arluin - aa0000aaの1つのインスタンス、aa0000abなどの次の値だけがユニークな値ではありません。 – Benny