Cornelius Herzog: Regulärer Ausdruck und Variable *verzweifel*

hallo,

ich hab ein problem. ich will was in in nem string suchen:
var text = "des ist der zu durchsuchende text";
var such = /xxx/i;
ergebniss = such.exec(text);

so, dass problem steck bei var such. ich will dass da net immer noch xxx gesucht wird, sondern nach nem text der in ner variable steckt, die sich ändert. wie kriegt man des hin?
wäre voll froh wenn jemand helfen könnte.

danke schon mal jetzt

gruß

cornelius herzog

  1. Hoi,

    ich hab ein problem. ich will was in in nem string suchen:
    var text = "des ist der zu durchsuchende text";
    var such = /xxx/i;
    ergebniss = such.exec(text);

    so, dass problem steck bei var such. ich will dass da net immer noch xxx
    gesucht wird, sondern nach nem text der in ner variable steckt, die sich
    ändert. wie kriegt man des hin?

    Steht im Archiv, z. B.:

    http://forum.de.selfhtml.org/archiv/2000_1/t10237.htm#a51558

    Gruesse aus dem schoenen LH,
     c.j.k

    1. Hallo

      http://forum.de.selfhtml.org/archiv/2000_1/t10237.htm#a51558

      eval() ist eine Möglichkeit. Besser ist es aber, ein neues RegObjekt zu erzeugen:

      xxx="irgendwas";
      var such = new RegExp(xxx,"i");

      Auszug aus der Doku:

      The literal format is used as follows:

      /pattern/flags
      The constructor function is used as follows:

      new RegExp("pattern"[, "flags"])
      Parameters
      pattern The text of the regular expression.
      flags  If specified, flags can have one of the following values:

      g: global match
      i: ignore case
      gi: both global match and ignore case

      Notice that the parameters to the literal format do not use quotation marks to indicate strings, while the parameters to the constructor function do use quotation marks. So the following expressions create the same regular expression:

      /ab+c/i
      new RegExp("ab+c", "i")

      Description
      When using the constructor function, the normal string escape rules (preceding special characters with \ when included in a string) are necessary. For example, the following are equivalent:

      re = new RegExp("\w+")
      re = /\w+/

      Viele Grüße

      Antje

  2. hi,

    ich hab ein problem.

    offensichtlich hast du mehrere Probleme

    ich will was in in nem string suchen:
    var text = "des ist der zu durchsuchende text";

    ok, jetzt hast du eine Variable, der ein string als Wert übergeben wurde

    var such = /xxx/i;

    aber hier hast du eine zweite Variable, die mit der ersten absolut nix zu tun hat und auch einen sher ungewöhnlichen Wert überwiesen bekommt

    ergebniss = such.exec(text);

    hier hast du eine dritte Variable (übrigens sollte man "ergebnis" bloß mit einem "s" schreiben), die etwas mit der zweiten Variablen zu tun haben soll und mit einem völlig undefinierten Parameter.

    so, dass problem steck bei var such.

    nein, nicht nur. Es steckt entweder in deinem Konzept oder darin, daß du nicht alles gepostet hast, was du vielleicht schon an Code zusammenzuschrauben versucht hast.

    ich will dass da net immer noch xxx gesucht wird, sondern nach nem text der in ner variable steckt, die sich ändert. wie kriegt man des hin?

    es dürfte einige Lösungsansätze dafür geben. Wichtig ist aber, was eigentlich passieren soll, wenn die Suche abgeschlossen ist. Der gefundene Wert soll wahrscheinlich in einer weiteren Variablen gespeichert werden, und wie soll die dann weiterbearbeitet werden ? Kurz: was soll das ERgebnis des Ganzen werden ?

    Zu überlegen ist auch, ob Javascript das geeignete Instrument ist.

    Versuch mal, deine Frage noch etwas genauer zu formulieren, dann könnte man vielleicht eine Bastelanleitung finden.

    Grüße aus Berlin

    Christoph S.