Forums Neueste Beiträge
 

Regex-Frage

30/09/2008 - 11:19 von Thomas Schremser | Report spam
Hallo allerseits!

Ich habe einen String, der durch { und } eingeschlossene "Felder" enthalten
kann. Diese Felder möchte ich nun extrahieren. Das Problem dabei ist, daß
ein Feld selbst Felder enthalten darf. Hier ein Beispiel:

string s = "Praefix {l:{s:0}{s:1}AND}{v:0} Suffix"

Als Ergebnis möchte ich Folgendes erhalten:

"Praefix "
"{l:{s:0}{s:1}AND}"
"{v:0}"
" Suffix"

Ist das über einen Regex möglich oder wird mir nichts anderes übrigbleiben,
als den String selbst zu parsen?

Grüße
Thomas

Any problem in computer science can be solved with another layer
of indirection. But that usually will create another problem.
David Wheeler
 

Lesen sie die antworten

#1 Werner Perplies
30/09/2008 - 11:46 | Warnen spam
Hallo Thomas,

Am Tue, 30 Sep 2008 11:19:50 +0200 schrieb Thomas Schremser:

Hallo allerseits!

Ich habe einen String, der durch { und } eingeschlossene "Felder" enthalten
kann. Diese Felder möchte ich nun extrahieren. Das Problem dabei ist, daß
ein Feld selbst Felder enthalten darf. Hier ein Beispiel:

string s = "Praefix {l:{s:0}{s:1}AND}{v:0} Suffix"

Als Ergebnis möchte ich Folgendes erhalten:

"Praefix "
"{l:{s:0}{s:1}AND}"
"{v:0}"
" Suffix"

Ist das über einen Regex möglich oder wird mir nichts anderes übrigbleiben,
als den String selbst zu parsen?

Grüße
Thomas


Ich denke, das geht mit der RegEx-Machine von Net.
Probier dies mal:
{(?>[^{}]+|\{(?<Counter>)|\}(?<-Counter>))*(?(Counter)(?!))\}

vielleicht ist es ja das, was Du in etwa willlst.

Auf meiner Seite findest ein Tool zum ausprobieren.

Gruß
Werner
www.weepee.eu

Ähnliche fragen