2014-09-24 2 views
0

Я пытаюсь использовать регулярное выражение яваскрипта и при попытке достичь /**, я получаю SyntaxError: Invalid regular expression:Javascript регулярное выражение пытается убежать/**

Не работает

\/\*\* 

Работы

\/\* \* 

Есть ли специальный способ избежать двух звезд рядом друг с другом?

Bigger картина:

Я использую this YEOMAN помощника, чтобы это утверждать:

var expected = "\n\ 
\/\*\*\n\ 
\* This is my description\n\ 
\*\n\ 
\* @param req\n\ 
\* @param reply\n\ 
\*\/\n\ 
exports.findEm = function (req, reply) {\n\ 
\n\ 
itemDao.findEm(req.params.id, function (err, data) {\n\ 
if (err) {\n\ 
return reply(Boom.wrap(err));\n\ 
}\n\ 
reply(data);\n\ 
});\n\ 
};\n\ 
"; 

.... 

helpers.assertFileContent(path.resolve(process.cwd(), 'myfile.js'), RegExp(expected)); 
+1

Где это не работает? Он отлично работает, вы можете использовать '\/\ * {2}' – hwnd

+3

'/ \/\ * \ * /' отлично работает. – anubhava

+1

''/** ". Match (/ \/\ * \ * /)' отлично работает здесь. Кто-нибудь уже упоминал об этом? ;-) – Bjorn

ответ

3

Вы делаете передать регулярное выражение в виде строки. Вы должны избегать обратной косой черты с другой обратной косой чертой: "\\/\\*\\*".

Но ваше регулярное выражение содержит много значащих символов, которые вам также нужно избегать. Например. скобки для группировки и захвата; и фигурные скобки должны копировать рисунок (a{3} = три a s). То есть найти и заменить: {\\{, [\\[, (\\(, .\\..

И наличие новых строк в выражении, вероятно, тоже не сработает.

+0

Так что если я это сделаю, я не получаю синтаксическую ошибку, но получаю assertionError, который содержит слэши в выводе. 'AssertionError: /temp/modules/items/item-ctrl.js не соответствует«/ \/\ * \ * * Это мое описание * * @param REQ * @param ответить */ экспорт .findEm = функция (REQ, ответ) { itemDao.findEm (req.params.id, функция (ERR, данные) { , если (ERR) { обратный ответ (Boom.wrap (ERR));} ответ (данные); }); }; /'. ' – Catfish

+1

Ахх, это был двойной побег на паранах, которые меня достали. Благодаря! – Catfish

Смежные вопросы