Javascript 正确匹配JS多行注释的每一行
//我有这个字符串:Javascript 正确匹配JS多行注释的每一行,javascript,regex,Javascript,Regex,//我有这个字符串: var a = "/** \n" + " * foo bar \n" + " * baz bob \n" + " * \n" + " * Yes, it is a string containing a docstring \n" + " */ "; //有了一些正则表达式方面的经验,我编写了一个JavaScript正则表达式: var r = /\/\*\*\
var a = "/** \n" +
" * foo bar \n" +
" * baz bob \n" +
" * \n" +
" * Yes, it is a string containing a docstring \n" +
" */ ";
//有了一些正则表达式方面的经验,我编写了一个JavaScript正则表达式:
var r = /\/\*\*\s*(.*\s*)*\*\//g;
//正如预期的那样,regex成功地捕获了
//但只有第二次捕获的docstring的最后一行:
var match = r.exec(a.toString()); console.log(match);
// ["/**
// * foo bar
// * baz bob
// * Yes, it is a string containing a docstring
// */",
// "* Yes, it is a string containing a docstring"
// ]
//为了捕获此“字符串”中类似于匹配[1]的所有行,我还缺少什么
//这个问题是它自己的问题。在大多数语言中是
s
修饰符的标记在Javascript中不存在
您可以通过在字符类中同时使用\s
及其否定\s
来解决此问题<代码>[\S\S]
var r = /\/\*\*\s*([\S\s]*)\*\//g;