Servus,
"(?:[^"]|\")*"
das funktioniert nicht so, wie Du Dir das wünschst - drehe die
Reihenfolge von '\"' und '[^"]' mal um.wie müßte das dann aussehen?
ich steig bei den regulären Ausdruck im Moment nicht ganz durch
ich borge mir mal Skeeves Ausdruck,
/^\s*$xxx\b\s*=\s*("(?:[^"]|\")*"|'(?:[^']|\')*')/
und bemerke dazu zwei Dinge:
1. '^' und '$' machen in der Form nur Sinn, wenn Du entweder einen Einzeiler
durchsuchen willst, oder den Modifikator '/m' benutzt.
2. Die oder-Beziehung 'a|b' gibt schon 'true' bei 'a' zurück, wenn an der Position
im String 'a' vorkommt - 'b' wird gar nicht erst ausprobiert.
Das sollte es also tun:
/\s*$xxx\b\s*=\s*("(?:\"|[^"])*"|'(?:\'|[^'])*')/
, obwohl ich das (wenn überhaupt mit regulären Ausdrücken) wahrscheinlich
anders machen würde. Der Ausdruck '"(?:\"|[^"])*"' dient hier dazu, nicht
mitten im Ergebnis bei einem auskommentierten '"' hängen zu bleiben - in
dem Fall könnte kein Ergebnis gefunden werden.
Grüsse