Question
Séparateur regex
- klaxix
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 6 ans 4 jours #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.
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 5 ans 11 mois #29783
par Laurent Dardenne
Tutoriels PowerShell
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]
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.042 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Séparateur regex