Résolu [regex] et case insensitive

Plus d'informations
il y a 7 mois 2 semaines - il y a 6 mois 4 semaines #34159 par Gabriel
bonjour a tous

je récupere un extract et je veux selectionner les machine qui commence par LON ou PAR
$data = import-csv .\extract.csv -delimiter ";" | where {$_.name -match "^lon|^par"}

cette commande me donne toutes les machine (en majuscule ou minuscule)
$filtre =  "^lon|^par"
$data = import-csv .\extract.csv -delimiter ";" | where {$_.name -match $filtre}

cette commande me donne aussi toutes les machine (en majuscule ou minuscule)

[regex]$filtre =  "^lon|^par"
$data = import-csv .\extract.csv -delimiter ";" | where {$_.name -match $filtre}

cette commande ne me donne que les machine en minuscule
meme si j'utilise -imatch au lieu de -match

c'est de la curiosité, mais si je defini un filtre [regex] pourquoi -match agit différement avec le meme mais en string

Gaby

 
Dernière édition: il y a 6 mois 4 semaines par Gabriel.

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

Plus d'informations
il y a 7 mois 2 semaines - il y a 7 mois 2 semaines #34160 par Alastor
Réponse de Alastor sur le sujet [regex] et case insensitive
A mon avis, il y a un micmac entre méthode de classe .Net et commande powershell,

Genre -match avec un string, c'est l'opérateur match de powershell, avec un type [regex] c'est la méthode de la classe .Net...

Mais ce n'est que le fruit de ma réflexion, en aucun cas une vérité.
Dernière édition: il y a 7 mois 2 semaines par Alastor.

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

Plus d'informations
il y a 7 mois 1 semaine #34169 par Arnaud Petitjean
Hello Gabriel,

Tu n'étais pas loin ;-). Pour que les RegEx soient sensibles à la casse (et c'est valable aussi pour tous les autres opérateurs de PowerShell), il faut préfixer l'opérateur -Match par la lettre "c" (pour "case sensitive"), soit l'opérateur "-cmatch".

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

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

Plus d'informations
il y a 7 mois 1 semaine - il y a 7 mois 1 semaine #34171 par Alastor
Réponse de Alastor sur le sujet [regex] et case insensitive
Il le semble que ce n'est pas ça la question 
Dernière édition: il y a 7 mois 1 semaine par Alastor.

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

Plus d'informations
il y a 7 mois 1 semaine #34172 par Arnaud Petitjean
Ah désolé, j'avais lu un peu trop vite.

J'ai dû le relire plusieurs fois avant de bien comprendre :-).

C'est effectivement étonnant. Je n'avais jamais remarqué ce cas là. Peut-être est-ce parce que je n'utilise pas si souvent que ça les RegEx.

Je pense que le type RegEx doit être plus strict que le type String lorsqu'on les associe avec l'opérateur Match, voilà tout. ;-)

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

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

Plus d'informations
il y a 7 mois 2 jours - il y a 7 mois 2 jours #34186 par Laurent Dardenne
-

Tutoriels PowerShell
Dernière édition: il y a 7 mois 2 jours par Laurent Dardenne.

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

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