Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[gelöst] Regex matcht auf zuviel Text
Kaio4u
myCSharp.de - Member



Dabei seit:
Beiträge: 11

Themenstarter:

[gelöst] Regex matcht auf zuviel Text

beantworten | zitieren | melden

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())
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Kaio4u am .
private Nachricht | Beiträge des Benutzers
Lars Schmitt
myCSharp.de - Experte

Avatar #avatar-2240.jpg


Dabei seit:
Beiträge: 2335
Herkunft: Witten

beantworten | zitieren | melden

Hallo Kaio4u,

Du musst Regex einfach das gierige Verhalten abgewöhnen

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

Herzliche Grüße
Lars
private Nachricht | Beiträge des Benutzers
Kaio4u
myCSharp.de - Member



Dabei seit:
Beiträge: 11

Themenstarter:

beantworten | zitieren | melden

super vielen dank
private Nachricht | Beiträge des Benutzers
winSharp93
myCSharp.de - Experte

Avatar #avatar-2918.png


Dabei seit:
Beiträge: 6155
Herkunft: Stuttgart

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers