Announcement

Collapse
No announcement yet.

Problem mit Regex bzw. Gruppierungen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem mit Regex bzw. Gruppierungen

    Hallo!

    ich versuche momentan eine XML mit regulären Ausdrücken zu bearbeiten.

    Die XML sieht im groben so aus:
    Code:
    <graphic>50</graphic><inlinegraphic>80</inlinegraphic><media><imagedata>90</imagedata></media>
    Nun möchte ich von <graphic>, <inlinegraphic> und <imagedata> die Werte haben, die innerhalb des Tags stehen.

    Mein regulärer Ausdruck sieht wie folgt aus:
    Code:
    <graphic>(.+?)</graphic>|<inlinegraphic>(.+?)</inlinegraphic>|<imagedata>(.+?)</imagedata>
    Ich speichere die Treffer in einer Matchcollection und lese diese dann mit den Groups aus:

    Code:
    foreach (Match treffer in matches)
    {
    liste.add(treffer.Groups[1].Value);
    liste.add(treffer.Groups[2].Value);
    liste.add(treffer.Groups[3].Value);
    }
    Das Problem ist, dass ich jeweils immer nur ein Treffer aus der erste Group kriege, bzw. wird immer nur ein Ausdruck aus dem pattern angesprochen (die ODER Verknüpfung wird ignoriert).


    Viele Grüße

  • #2
    Klammere mal die ORs

    http://www.regexplanet.com/advanced/java/index.html
    Christian

    Comment


    • #3
      Jetzt funktioniert es.

      Ich hatte nur einen Denkfehler beim befüllen der Liste bzw. bei den Matches.

      Vielen Dank!



      Viele Grüße

      Comment


      • #4
        Hallo,

        Regex ist zwar ein sehr mächtiges Werkzeug und das sollte man sich schon anschauen und aneignen. Aber für die XML-Bearbeitung gibt es besserer/einfachere Möglichkeiten, speziell in .net z.B. per Linq to XML.

        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment

        Working...
        X