簡體   English   中英

Javascript正則表達式試圖轉義/ **

[英]Javascript regex trying to escape /**

我正在嘗試使用JavaScript正則表達式,並且在嘗試實現/** ,不斷收到SyntaxError: Invalid regular expression:

不起作用

\/\*\*

作品

\/\* \*

有沒有一種特殊的方法可以使2星彼此相鄰逃避?

大圖:

我正在使用這個 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));

您確實將正則表達式作為字符串傳遞。 您必須使用另一個反斜杠來轉義反斜杠: "\\\\/\\\\*\\\\*"

但是您的正則表達式包含許多您也需要轉義的有意義的字符。 例如,括號用於分組和捕獲; 和花括號將復制模式( a{3} = 3 a s)。 即做一個查找和替換: {\\\\{[\\\\[(\\\\( .\\\\.

並且在表達式中包含換行符也可能不會起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM