Christoph aus Wien: Probleme mit RegExps

Hallo

Ich versuche ein OPTION Tag mit Javascript zu entfernen

Es soll nur das entfernt werden, welches den value von x hat. Er findet mir jetzt schon das Öffnende OPTION Tag. Doch er nimmt nicht das nächste  schließende OPTION Tag sondern das letzte. Wie mache ich das dass es das nächste nimmt?

ich dachte auch daran:
<option.value=("|'|)" + id + "("|'|)>.+[^option]</option>

dieses [^option] ist vermutlich nicht richtig

Hm

Christoph aus Wien

  1. Hallo Christoph.

    <option.value=("|'|)" + id + "("|'|)>.+[^option]</option>

    Dein Problem ist das '.+', da dieser Ausdruck gierig (greedy) ist und damit so viel Buchstaben wie möglich matcht.
    Lies dazu mal:
    http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm#gierig_genuegsam
    In kurz: Wenn du '.+?' schreibst wird der Ausdruck ungreedy und passt in deinem Fall auf alles, was vor dem _nächsten </option> steht.

    dieses [^option] ist vermutlich nicht richtig

    Stimmt so. Wenn etwas an dieser Stelle nicht stehen soll, dann schreib's halt nicht hin. ;-)
    Außerdem hast du definiert, dass vor dem schließenden Tag keiner der Buchstaben aus dieser Klasse stehen darf, was sicher nicht dein Ziel war.

    MfG _Siro.