Laden...

[gelöst] Regex matcht auf zuviel Text

Erstellt von Kaio4u vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.005 Views
K
Kaio4u Themenstarter:in
11 Beiträge seit 2009
vor 14 Jahren
[gelöst] Regex matcht auf zuviel Text

ich habe ein problem mit regex

und zwar bekomm ich zuviel text raus

String:

<id>1</id>
<message>
(irgendein text)
</message>
<id>2</id>
<message>
(irgendein text)
</message>
<id>3</id>
<message>
(irgendein text)
</message>

Regex mache ich <MESSAGE>([^$]+)</MESSAGE>

Ergebniss ist

(irgendein text)
</message>
<id>2</id>
<message>
(irgendein text)
</message>
<id>3</id>
<message>
(irgendein text)

möchte aber das nur (irgendein text) erscheint (indiesem fall 3 mal, mit NextMatch())

2.223 Beiträge seit 2005
vor 14 Jahren

Hallo Kaio4u,

Du musst Regex einfach das gierige Verhalten abgewöhnen

<MESSAGE>([^$]+?)</MESSAGE>

Herzliche Grüße
Lars

K
Kaio4u Themenstarter:in
11 Beiträge seit 2009
vor 14 Jahren

super vielen dank

5.742 Beiträge seit 2007
vor 14 Jahren

Hallo Kaio4u,

nur zur Sicherheit: Du versuchst hoffentlich nicht, XML mithilfe von Regex zu parsen, oder?

Dafür gibt es weitaus bessere Möglichkeiten, z.B. den XmlReader, das XmlDocument oder neuerdings auch LINQ to XML.