Bonjour,
J'ai un fichier de rapport et dans ce fichier un tableau en texte brute.
J'ai besoin de chercher ce tableau. Pour ce faire, j'utilise des regex.
Pour trouver la regex, j'utilise notepad++ pour faire mes essaies.
Dans cette échantillon du fichier texte :
Pour trouver le tableau avec les entêtes "Switch;Ports;Model;SW Version;SW Image", j'utilise cette regex :[...]
Daughterboard revision number : A0
Hardware Board Revision Number : 0x01
Switch Ports Model SW Version SW Image
------ ----- ----- ---------- ----------
* 1 52 WS-C2960S-48FPS-L 12.2(55)SE5 C2960S-UNIVERSALK9-M
2 52 WS-C2960S-48FPS-L 12.2(55)SE5 C2960S-UNIVERSALK9-M
Switch 02
---------
Switch Uptime : 2 years, 50 weeks, 2 days, 3 hours, 19 minutes
Base ethernet MAC Address : 58:97:1E:9C:BA:80
[...]
Code regex : Sélectionner tout - Visualiser dans une fenêtre à part (?m)^Switch.*Ports.*Model.*SW Version.*(?:(?:\r\n|[\r\n]).+$)*
Ensuite, j'essai de faire la même chose en Powershell :
Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $fileContent = [io.file]::ReadAllText("C:\shver.txt") $fileContent | Select-String "(?smi)^Switch.*Ports.*Model.*SW Version.*(?:(?:\r\n|[\r\n]).+$)" -AllMatches | %{ $_.Matches } | %{ $_.Value }
Sauf que la regex n'arrive pas à s'arrêter à la fin de mon tableau et elle me retourne les lignes jusqu'à la fin du fichier.
Que faire au niveau de la regex ?
en vous remerciant d'avance.
Partager