Question Page 105

Plus d'informations
il y a 15 ans 2 mois #3843 par Olivier
Page 105 a été créé par Olivier
Bonjour à tous !

À la page 105, il est stipulé \"L'instruction Switch accepte également les expression régulières, pour cela il suffit de spécifier le paramètre -casesesitive:

Exemple
[code:1]Write-Host 'Entrez une chaine'
$chaine = Read-Host
Switch -regex ($chaine)
{
'^[aeiouy]' {Write-Host 'La chaine saisie commence par une voyelle'}
'^[^aeiouy]' {Write-Host 'La chaine saisie commence par une consonne'}
'^[0-9]' {Write-Host 'La chaine saisie commence par un chiffre'}
}[/code:1]
En fait, ne s'agit-il pas du paramètre -regex au lieu de -casesensitive ?
Il me semble pas que dans cet exemple on traite la casse ...

Le plus important, pour les débutants, on voit arriver de nouveaux caractères ^[ et ^[^.

Après recherche dans le bouquin, il n'y a pas trop d'explication et c'est en cherchant (google est mon ami :-)) qu'on trouve ce genre d'explications -> technet.microsoft.com/fr-fr/magazine/2007.11.powershell.aspx (cité par Maître Petitjean le 27 janvier ... :)

Est-ce qu'il existe une traduction de ces caractères et peut-être d'autres concernant ce cas ?
Les expressions régulières devraient être à mons avis abordées plus en détail étant donné que des exemple y font référence ...

Merci pour vos prochaines réponses et explications :)

Olivier

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 2 mois #3844 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Page 105
Salut,
Olivier écrit:

Est-ce qu'il existe une traduction de ces caractères et peut-être d'autres concernant ce cas ?

Sur MSDN tu trouveras la doc du moteur de regex spécifique à .NET.
Ensuite sur les forums de ce site il y a qq posts contenant de nombreux liens vers des tutoriels US, des outils et des documents de référence rapide.
Recherche sur les forums avec le mot clé Regex

Une autre infos à propos de Switch, le paramètre $_ référence l'élément en cours d'analyse, ce qui peut provoquer qq soucis si on couple une instruction Switch avec le pipeline.
[code:1]
Dir |Where-Object { ($_.PSIsContainer -eq 0)} |% {
switch ($_.Extension)
{
\".txt\" {\"Texte : $_\"}
\".ps1\" {\"Script : $_\"}
\".exe\" {\"Exécutable : $_\"}
}
}
[/code:1]
Dans ce cas il faut mémoriser l'objet courant issu du pipeline :
[code:1]
Dir |Where-Object { ($_.PSIsContainer -eq 0)} |% {
$Current=$_
switch ($_.Extension)
{
\".txt\" {\"Texte : $Current\"}
\".ps1\" {\"Script : $Current\"}
\".exe\" {\"Exécutable : $Current\"}
}
}
[/code:1]
Ensuite, je laisse aux auteurs le soin de répondre aux questions restantes.<br><br>Message édité par: Laurent Dardenne, à: 28/01/09 12:11

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.083 secondes
Propulsé par Kunena