Cheatah: Regular Expression führt zu JS Fehler

Beitrag lesen

Hi,

heißt das, dass jeder Backslash in meinem Ausdruck mit einem Backslash escaped werden muss, damit er im regulären Ausdruck vorkommt? Also nicht nur dieser eine vor dem '+'?

das heißt, dass Du eines der allerwesentlichsten Grundprinzipien der Software-Entwicklung verinnerlichen musst: Wann immer Du einen Wert in einen Kontext bringst, *musst* Du ihn kontextspezifisch kodieren.

Der Wert, den Du hast, ist Deine Regular Expression. Diese lautet:

/[1]*<?(\s*(+)?\s*[(]?(\s*[(]?[0-9]\s*[)]?\s*[.]?\s*[-/]*\s*){6,})>?\s*$/

Du willst sie nun in einen String-Kontext bringen, nämlich Anführungszeichen drum herum setzen[1]. In einem String existieren Sonderzeichen, welche stringspezifisch kodiert werden müssen. Insbesondere ist der Backslash "" ein solches Sonderzeichen; seine Kodierung in diesem Kontext lautet "\".

Es ist im Prinzip ganz einfach. Das einzige, was Du tun musst, ist, es immer und überall zu bedenken. *Immer* und *überall*.

Cheatah

[1] Warum auch immer.

--
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes

  1. \s ↩︎