Hallo,
herzlichen Dank für deine tolle Erklärung.
ja, ich fand sie auch hervorragend.
Ich will jetzt nicht nerven aber im Fall des Backslash \ ist es mir dennoch nicht ganz klar. Ich habe das String Literal mit einfachem Hochkomma versehen und alle überflüssingen \ entfernt.
Das ist okay, so musst du das Anführungszeichen innerhalb des Strings nicht extra maskieren.
Damit der Backslash erkannt wird braucht man wirklich 4 \ bzw 3. Nur so kommt die Alert Meldung.
Aber ich dachte eigentlich einer müsste doch reichen?
Was hast du an der ausführlichen Erklärung von dedlfix nicht verstanden? EIN Backslash ist in einem Javascript-String lediglich eine Art Escape-Zeichen, ein Indikator dafür, dass das (die) darauffolgende(n) Zeichen eine Sonderbedeutung hat/haben. Nur wenn die Kombination aus Backslash und nachfolgendem Zeichen keinen speziellen Sinn ergibt, wird der einzelne Backslash als solcher interpretiert. Das ist aber eigentlich bloß eine Kulanzregelung.
Du musst aber zwei Backslashes an die Regex-Engine übergeben, damit die ihrerseit erkennt, dass da ein Backslash wörtlich gemeint ist, und nicht als Escape-Sequenz mit dem folgenden Zeichen zusammenfallen soll. Notierst du zwei Backslashes im Javascript-String, fasst der Javascript-Parser die aber schon zu einem zusammen, denn Backslash-Backslash ist die korrekte Escape-Sequenz für einen Backslash, der wörtlich im String vorkommen aoll. Folglich musst du eigentlich vier Stück schreiben - wobei der vierte wegen der oben erwähnten Kulanzregelung entfallen kann.
Jetzt alle Klarheiten beseitigt?
So long,
Martin