In der Regex unten bezeichnet \s
ein Leerzeichen. Ich stelle mir den Regex-Parser vor, gehe durch den String und sehe \
und weiß, dass das nächste Zeichen speziell ist.Warum müssen Regex-Konstruktoren doppelt maskiert werden?
Dies ist jedoch nicht der Fall, da Doppel-Escapes erforderlich sind.
Warum ist das?
Gibt es ein konkretes Beispiel dafür, wie eine einzelne Flucht als etwas anderes falsch interpretiert werden könnte?
Denken Sie daran, dass Java oder der Regexp-Konstruktor keine Klarstellung benötigen, es ist der Compiler (oder Parser). – GJK
Um zu den bereits richtigen Antworten hinzuzufügen: Beachten Sie, dass Sie, wenn Sie ein RegExp-Literal in JavaScript schreiben, * nicht * den Backslash umgehen müssen, wie Sie vermuten würden: '/ (\ s | ^) /' –