Bonjour,
Je voulais savoir comment inclure une variable Powershell dans une regex ?
Merci d'avance.
Bonjour,
Je voulais savoir comment inclure une variable Powershell dans une regex ?
Merci d'avance.
Bonjour,
Je complète ma question :
Je recherche un comparer une variable $User = "YUYAN1" ou $User = "DUPUIARNA1" à une regex :
$Name = "YU"
$FirstName = YAN"
OU
$Name = "DUPUIS"
$FirstName = "ARMAND"
Code Powershell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 # Comparaison entre le login de référence et le login if($User -match "^($Name{1,5})($FirstName{1,5})([0-9])$"){ Return 1 }else{ Return 0 }
Dans la regex j'aimerai avoir :
La variable $Name peu contenir 1 ou 5 carractères du début de la chaine +
La variable $FirstName peu contenir 1 ou 5 carractères du début de la chaine +
Un chiffre compris entre 0 et 9
Il y a peut être une autre méthode ?
Merci pour votre aide.
C'est l'inverse, sinon tu recherches à comparer une expression régulière.
Je pense que c'est la norme de nommage qu'il faut ici expliciter.
Et ta regex porte il me semble une incohérence, on ne peut savoir où commence la partie Name et ou finit la partie FirstName, elles sont ici liées.
Ceci me semble plus proche de ta norme, en tout cas du résultat que tu as énoncé :
Si tu recherches des occurrences de chaînes, ceci convient :
Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $regex="^(.{1.10}[0-9]$"
Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 $Name = "YU" $FirstName = "YAN" $User = "YUYAN1" $regex="^${Name}${FirstName}[0-9]$" # Comparaison entre le login de référence et le login if($User -match $regex){ Return 'Match' }else{ Return 'NotMatch' }
Tutoriels Delphi Win32/Delphi .NET/Oracle/PowerShell - FAQ Delphi - FAQ Delphi .NET
Beatus, qui prodest, quibus potest.
et dans
Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part $regex="^${Name}${FirstName}[0-9]$"
il y a moyen de lui dire que les variable Name et FirstName peuvent contenir les 1 ou 5 caractères du début de la chaine ?
Sinon, je l'ai fais différemment :
Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 # Nom : prélèvement carractère if($Name.Length -lt 5){ $Name = $Name.Substring(0,$Name.Length) }else{ $Name = $Name.Substring(0,5) } # Prénom : prélèvement carractère if($FirstName.Length -lt 5){ $FirstName = $FirstName.Substring(0,$FirstName.Length) }else{ $FirstName = $FirstName.Substring(0,4) } $Login = $Name+$FirstName # Comparaison entre le login de référence et le login if($User -match "^$Login([0-9])$"){ Return 1 }else{ Return 0 }
Tutoriels Delphi Win32/Delphi .NET/Oracle/PowerShell - FAQ Delphi - FAQ Delphi .NET
Beatus, qui prodest, quibus potest.
ok merci. Donc le regex n'est pas approprié pour ce que je souhaitais faire. Cela répond à ma question. Merci pour le temps passé.
Partager