【发布时间】:2014-04-18 12:47:46
【问题描述】:
好的,我知道这是一个反复出现的问题,但是我似乎无法找到一个完全基于正则表达式的可行解决方案。
所以,这就是我想出的(实际上是基于C# sharp grammar specification by ECMA 中多行 cmets 的“字面”描述)。
\/\*(([^\*])+)|([\*]+(?!\/))[\*]+\/
但是,正如您所见,它不起作用...
演示:
有什么想法吗?如果不进行各种黑客攻击,这甚至可能吗? (嗯,我的意思是除了正则表达式本身......哈哈)
PS 如果它具有任何信息价值,我目前正在使用 Lex/Bison/C/D 开发词法分析器/解析器/解释器,显然多行 cmets 是需要考虑的。 .
【问题讨论】:
-
什么语言? C++?如果是,请跳过我的评论,如果不是——请不要重复 C++ 的错误,它的多行 cmets 不能嵌套。
-
@greenoldmand 感谢您的建议。不,它不适用于 C++。这是给我自己的一个。 (顺便看看你的项目!;-))