Question Séparateur regex

Plus d'informations
il y a 4 ans 4 semaines #29734 par klaxix
Séparateur regex a été créé par klaxix
Bonjour,

Je reviens vers vous car je n'arrive pas a finir mon script Powershell, je dois récupérer une chaîne de caractère entre [ ] et exclure tous le reste, exemple :

Pour toutes les lignes, je dois avoir que le contenu du deuxième [ ]

tmp.txt:22585:C:\test\1\toto.txt:968574:[09-Jun-2020:22:16:44] [BTPP12OPGLO7libcpt3:4508] ERRO WinSock Error: 11160

Je dois retrouver que ça :

[BTPP12OPGLO7libcpt3:4508]

j'ai essayé avec Foreach-Object mais je ne trouve pas la bonne expression regex

Avez-vous des idées ?

Merci.

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

Plus d'informations
il y a 4 ans 3 jours #29783 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Séparateur regex
Salut,
une solution :
[code:1]
$s='tmp.txt:22585:C:\test\1\toto.txt:968574:[09-Jun-2020:22:16:44] [BTPP12OPGLO7libcpt3:4508] ERRO WinSock Error: 11160'

$r='\[.*?]'
[regex]::Matches($s,$r)|select-object value

#Value
#
#[09-Jun-2020:22:16:44]
#[BTPP12OPGLO7libcpt3:4508]

#Sans les crochets avant et après
$r2='(?<=\[).*?(?=])'
[regex]::Matches($s,$r2)|select-object value

#Value
#
#09-Jun-2020:22:16:44
#BTPP12OPGLO7libcpt3:4508
[/code:1]

Tutoriels PowerShell

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

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