Bonsoir à tous,
Le Regex c'est très puissant mais j'ai beaucoup de difficultés pour écrire le Pattern, je me suis arretté car je n'y arrive plus au niveau de la valeur hexadécimale (juste après 0x). (La ligne de code que j'ai écrite est donc fausse)
Pouvez vous m'aider ?
Si de plus quelqu'un a du courage pour allez jusqu'au bout, ça m'aiderait beaucoup.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Imports System.Text.RegularExpressions Private Sub Test Dim Stream1 As String = " Stream #0:0[0x1100]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], 30.17 fps, 25 tbr, 90k tbn, 50 tbc" Dim Stream2 As String = " Stream #0:1[0x1101](fra): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16, 256 kb/s" Dim Stream3 As String = " Stream #0:2[0x1102](deu): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16, 256 kb/s" ' Rechercher des Streams et extraction des données : re = New Regex("^( Stream #)([0-9]+:[0-9]+)(\[)(0x)([ABCDEF0123456789]{1,4})") m = re.Match(Stream1) Debug.Print(m.Groups(1).ToString) ' Une piste a été détectée. Debug.Print(m.Groups(2).ToString) ' Contient le numéro de piste y dans le fichier x (x:y) Debug.Print(m.Groups(3).ToString) ' "[" Debug.Print(m.Groups(4).ToString) ' "0x" Debug.Print(m.Groups(5).ToString) ' N° de PID en hexadecimal End Sub
Le but est d'extraire les valeurs :
- Type de Stream : (Video ou Audio)
- Numéro de piste (ex: 0:1)
- Numéro de PID en Hexadécimale : (Ex : 1100, 1101 , 1102)
- Le Codec Audio ou Vidéo (h264, mp2)
- La langue (Ex: fra ou deu)
Merci beaucoup si vous pouvez m'aider.
Partager