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.