Regex

giovedì 16 agosto 2007 - 16.04

angelweb Profilo | Newbie

Ciao a tutti
In vb net 2005 data una stringa del tipo #aa;dd;ss* #rr;mm;nn* avrei bisogno di ottenere due stringhe
separate ossia "aa;dd;ss" e "rr;mm;nn"
con il seguente codice funziona tutto a patto che non ci siano segni di punteggiatura come faccio ad
includere questi?
Dim Re As New Regex("#(?<primo>\w+)*")
For Each m As Match In re.Matches(TempBuf)
DatiRx.Add(m.Groups(0).Value)
Next

0v3rCl0ck Profilo | Guru

Ciao,

è forse questa la regular expression che fa al caso tuo?

#(?<primo>(?:\w+;?)+)\*


Enjoy It

http://blogs.dotnethell.it/Regulator/

angelweb Profilo | Newbie

Ciao
Ci siamo quasi
Ottengo una cosa di qusto tipo "#sas;ds*" "#dss;sdds*" non si potrebbe fare in modo di eliminare del tutto sia il # che *
Scusa un errore mio funziona perfettamente grazie tante

angelweb Profilo | Newbie

Ciao facendo delle prove mi sono accorto che se ci sono caratte ri di punteggiatura diversi da ; oppure ve ne è piu' di uno la cosa non funziona ossia :
#ddds;;dsds:dsds*dsfdaf#fddf;;:,dsdsds* quello che vorrei ottenere è:
"ddds;;dsds:dsds""
"fddf;;:,dsdsds"
é possibile realizzare un pattern che contempli tutti i caratteri anche ripetuti n volte?
Grazie tante

0v3rCl0ck Profilo | Guru

Ciao,


Eccola:

#(?<primo>(?:\w+[;:,]*)+)\*

non ho fatto altro che aggiungere il pezzo [;:,]*, le parentesi quadre indicano un set di caratteri che possono essere matchati, e invece che il punto interrogativo ho messo l'asterisco che prende 0 o più caratteri del set.


Enjoy It
http://blogs.dotnethell.it/Regulator/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5