Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET]Problemino con le RegEx
Forum - C# / VB.NET - [VB.NET]Problemino con le RegEx

Avatar
GN (Member)
Guru


Messaggi: 770
Iscritto: 30/04/2011

Segnala al moderatore
Postato alle 22:22
Venerdì, 27/01/2012
Ciao a tutti e grazie in anticipo a chi mi aiuterà :).
Dovrei leggere dei files di testo formattati in un modo simile a questo
Codice sorgente - presumibilmente Plain Text

  1. -MioProg 0.1.0.0-
  2. Titolo
  3.  
  4. Dato1
  5. Dato2
  6. Dato3
  7. ...


e vorrei ottenere la versione (nell'esempio 0.1.0.0), il titolo e i dati.
Ho letto i capitoli della guida di Totem sulle espressioni regolari http://totemslair.org/guide/viewchapter.php?guida=vb&id=93 e http://totemslair.org/guide/viewchapter.php?guida=vb&id=94; sono riuscito a scrivere questa RegEx
Codice sorgente - presumibilmente VB.NET

  1. Dim r As New RegEx("-MioProg (\d\.\d\.\d\.\d)-\n*")
  2. Dim g As GroupCollection = .Match("Contenuto del file").Groups
  3. Dim v() As String = g(1).Value.Split(".") 'array con le verie parti della versione


e da cui riesco a ricavare bene la versione, ma non so come fare per il titolo e i dati. Ho provato in vari modi ma in tutti i casi se non metto l'asterisco finale il file non "Matcha" (voce del verbo Matchare lol) più con la RegEx oppure ottengo delle eccezioni di vario tipo. Sapreste aiutarmi? E' la prima volta che uso le espressioni regolari e non capisco proprio come fare... grazie in anticipo.

Ultima modifica effettuata da GN il 28/01/2012 alle 12:28


PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
1
Down
V
Segnala al moderatore
Postato alle 12:15
Sabato, 28/01/2012
Non vale la pena di usare le espressioni regolare per ottenere dati che sai essere su più righe. Semplicemente leggi una linea alla volta.

Ok, ma usare le regex mi sembra il modo più adatto per controllare che il file sia formattato nel modo giusto e per controllare la versione; inoltre penso di complicare un po' la struttura del file successivamente, quindi vorrei costruire una base solida da poter modificare in futuro. - GN - 28/01/12 12:28
Ok per la versione, però non complicarti la vita se non serve... - Il Totem - 31/01/12 10:57
Va bene, leggerò una riga alla volta parsando quella della versione e i singoli dati con le RegEx. Grazie :) - GN - 31/01/12 20:25


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM