如何将最嵌套的注释与正则表达式匹配?

时间:2015-09-04 12:56:00

标签: regex

我正在与正则表达式斗争。我无法在此示例中找到提取嵌套最多注释的方法:

/* test
/* sec/*o*
new line
n*/d */
*/

要清楚,我想要提取的内容如下:

/*o*
new line
n*/

到目前为止,我只有在没有*字符的情况下才能选择它,使用此正则表达式:

/\*[^\*]*\*/

但我无法弄清楚如何排除这个特定字符串:/*, 我找不到合适的关键字来在网上得到答案。

1 个答案:

答案 0 :(得分:5)

您可以在tempered greedy token的帮助下匹配任何最后一级嵌套注释(那些没有任何嵌套注释的注释):

/\*(?:(?!/\*|\*/)[\s\S])*\*/

请参阅demo