[英]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.