0

Я создал следующее регулярное выражение для поиска url, соответствующего слову в полном пути и не содержащем символа точки.javascript Недопустимое регулярное выражение с токеном ''

(\path\?*)([^.]*)$ 

Он работает на https://www.regex101.com/#javascript, но на ворчание ВПодключение задачи, когда я определить это можно, подсоединив задачу:

middleware: function(connect, options) { 
var middlewares = []; 

middlewares.push(modRewrite(["(\path\?*)([^.]*)$ /home.html [L]"])); 
    options.base.forEach(function(base) { 
     middlewares.push(connect.static(base)); 
    }); 
    return middlewares; 
    } 

я получил эту ошибку: Invalid regular expression: /(home?*)([^.]*)$/: Nothing to repeat и IDE предупредит меня в два слеша (\ путь \) между словом «путь».

Почему я могу использовать эти черты? Что я могу использовать для замены этих косых черт? Большое спасибо

+0

'" (\\ путь \\ *) ([^.] *) $/Дома .html [L] "' –

ответ

2

\ является специальным символом в javascript, поэтому вам нужно избегать его, если вы намереваетесь его использовать. Вы можете избежать этого, добавив еще \. например: \\

+0

спасибо, что он работает с экранированием –

0

Backslash принадлежит к «Javascript специальные символы»

Поскольку вы используете обратную косую черту в строку в двойных кавычках, вы должны написать каждый дважды, чтобы сказать анализатору, что вы на самом деле хотите Ouput в backslah , Это обязательный вариант в двойных кавычках и одинарных кавычках.

Вы можете просмотреть документацию .. например MDN documentation

поиска по запросу "JavaScript специальных символов"