salve ragazzi,
ho bisogno di una mano con le espressioni regolari.
Io ho stringhe tipo questa
Codice:
3: ACR38 USB Reader Vid: 072f Pid: 9000 Port: 3-2 Status: plugged, shared List of USB servers and remote devices: ===================== ======================= ===================
e vorrei ottenere come risultato
072f#9000#3-2
ovvero il testo dopo Vid, il testo dopo Pid, il testo dopo Port.
Le condizioni devono essere queste però:
1)dopo status ci deve essere scritto "plugged, shared" (quindi solo plugged o solo shared. Attenzione perchè il contrario di plugged è not plugged)
2)la porta potrebbe essere anche scritta come 2-1-1
Questo perchè io per ora ho scritto questo pattern
Codice:
".*Vid:\s([0-9abcdef]+).*Pid:\s([0-9abcdef]+).*Port:\s([0-9]+\-+[0-9])"
ma lo passo ad una stringa dopo aver fatto
Codice:
Dim pattern As String
pattern = "[1-9]:"
Dim r As Regex
r = New Regex(pattern)
Dim sites As String()
sites = r.Split(sOutput)
Dim s As String
For Each s In sites
If Not s.Contains("not plugged") Then
If s.Contains("plugged") And s.Contains("shared") Then
....
...
E' possibile farlo in un colpo solo? C'è modo di dirgli "il testo dopo port:"? Perchè come l'ho scritto io nel famoso caso della 2-1-1 mi scrive solo 2-1!
COme si è capito non sono per nulla pratico
Grazie