Hallo,
das, was dort gesagt wurde - nämlich das
funde = text.match(/#START#.*?#ENDE#/g);
.*? erst mal weniog sinnvoll ist in JS-regexp, würde ich aber vermutlich unterschreiben.
Ich will aus einem Text der form
text = "#START# text 1 #ENDE# etz irgendwas anderes #START# text 2 #ENDE# nochmal was";
am Schluss das heraushaben (in Form eines Arrays):
("#START# text 1 #ENDE#", "#START# text 2 #ENDE#")
wenn ich ein gieriges Suchmuster verwende, also:
text.match(/#START#.*#ENDE#/g);
kriege ich:
"#START text1 #ENDE# etz irgendwas anderes #START# text 2 #ENDE#";
Deswegen brauch ich das ?, damits funktioniert.
Ich habe jetzt die folgende Lösung gefunden:
var tokens = text.split("#START#");
var result = new Array();
for (var i = 0; i <tokens.length; i++) {
var sub = tokens[i].match(/.+#ENDE#/);
if (sub) {result[result.length] = "#START#"+sub;}
}
Das funktioniert, ich bekomme in result das, was ich haben will.
Aber ob das die eleganteste Lösung ist, weiss ich nicht.
nur,wie gesagt, das ? will er nicht.
was willst du denn damit, an dieser stelle?
gruß,
wahsaga