Добавьте секунду \
после '\
. Это проблема строк, а не регулярное выражение: -)
Чтобы иметь \
в строке в Javascript (и многих других языках), вам необходимо его избежать, потому что он используется для escape-последовательностей (например, \n
). Таким образом, чтобы получить \
, вы должны поставить \\
.
В регулярных выражениях \
используется для экранирования следующего символа, но это еще один экранирование (не связанный с экранированием "string"). Так что это \\.
Чтобы быть более понятным: вы хотите, чтобы ваша строка была "буквально" \.(something
. Чтобы получить это, вам нужно экранировать \
, поставив другой \
(иначе ваша строка будет .(
, потому что \
будет экранировать .
, поэтому он ничего не будет делать). Если вам любопытно, в регулярных выражениях .
означает любой символ, но если вы хотите найти .
(точку), вы должны его избежать и угадать, что вы используете? \
: -)
Если однажды вам придется программировать на C #, в C # вы можете решить эту проблему, используя @"something"
. @ Disable escape "расширение" в строке. Так что @"\"
это \