Lieber jonny_w,
text.match(/str[3][8]\n/);
das funktioniert nicht, ich auch klar das es nicht geht, die frage ist aber wie kann ich es hinbekommen das es geht?
was Du brauchst ist ein neues RegExp-Objekt. Alles was Du ohne Anführungszeichen als /irgendwas/
notierst, wird als ein solches Objekt verstanden. Wenn Du nun dynamisch Variableninhalte zu regulären Ausdrücken "umformen" möchtest, dann benötigst Du neue solche Objekte.
Beispiel:
myArray = ["eins", "zwei", "drei"];
for (var i = 0; i < myArray.length; i++) {
myRegExp = new RegExp(myArray[i], "gi");
alert("Teste " + myArray[i] + " mit diesem Ausdruck: " + myRegExp);
// dieser Test matched natürlich immer...
if (myArray[i].match(myRegExp) alert ("Es matched!");
// ... aber zum Verdeutlichen sollte es reichen.
}
Nocheinmal abstrakter:
Mit "new RegExp(string-Muster, string-Modifier)" erzeugst Du ein neues RegExp-Objekt. In "string-Muster" steht Dein Suchausdruck _ohne_ umschließende Slashes! In "string-Modifier" stehen so Sachen wie "i" für CaseInsensitive, "g" für Greedy oder "m" für MultiLineMode.
Liebe Grüße aus Ellwangen,
Felix Riesterer.