识别 /* 和 */ 之间的注释,仅当 */ 位于“”内部时,其中才可能包含 */

问题描述 投票:0回答:1

我正在开发词法分析器,但我正在努力解决如何识别以下注释:

注释是

/*
*/
之间的字符序列(偶数空格);它可能不包含子字符串
*/
除非它位于双引号之间,如下所示
"*/"

我只能做这两次尝试:

pattern commentPattern = Pattern.compile("/\\*.?\\*/"); // it identify the comment between /* and */

这次尝试:

pattern commentPattern = Pattern.compile("/\\*.? \\"\\*/ .?  \\*/");

你能帮忙吗?

java comments lexical-analysis
1个回答
0
投票

幸运的是,一位匿名会员给了我一个对我有用的答案,这里是:

Pattern.compile("/\(?:(?!\/)[^"]|"[^"]")\*/")

感谢您的所有评论!

© www.soinside.com 2019 - 2024. All rights reserved.