0
我想解析多行注释,但它总是贪婪的。贪婪的正则表达式 - 如何支持多行模式?
正则表达式:
MUL_COMMENT ("#*"(.|\n)*?"*#")
挠曲文件片段:
<DIRECTIVE>{MUL_COMMENT} {BEGIN INITIAL;
printf("mul comment for directive end:%s\n",yytext);yylval.string = strdup(yytext); return COMMENT;}
该文本文件:
#*erewrewrewr
wer*#
#set($a=7)
#*#ere
wrewrewrwe*#
的解析结果:
Node:astn=Comment,image:"#*erewrewrewr\nwer*#\n\n#set( $a=7)\n\n#*#ere\nwrewrewrwe*#"
mul comment for directive end:#*erewrewrewr
wer*#
#set($a=7)
#*#ere
wrewrewrwe*#
图像是他的字符串匹配,显然他是贪婪!如何解决它,请帮助我!
它运作良好,非常感谢你! – sinory