我将尝试创建一个Python正则表达式,用于PLY,以匹配以下形式的注释:
// some comment
and
/* comment
more comment */
所以我尝试了一下
t_COMMENT = r'//.+ | /\*.+\*/'
但是这种方法无法支持多行注释,当我尝试使用“点匹配所有”选项来解决这个问题时,会出现以下情况:
t_COMMENT = r'//.+ | (?s) /\*.+\*/'
这会导致“//”注释类型匹配多行。如果我尝试使用两个单独的正则表达式,例如
t_COMMENT = r'//.+'
t_COMMENT2 = r'(?s) /\*.+\*/'
"//"这种注释方式仍然会匹配多行,就好像启用了“dot matches all”选项。有人知道如何解决这个问题吗?"