Flex 似乎没有正确识别我的定义

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

我正在尝试使用此代码匹配评论({评论结束并以括号开头})

%{
%}
com ^"\{"(.|\n)*"\}"$
%option noyywrap
%%
[^{com}] ;
{com} printf("%s",yytext);
%%
void main()
{
    yylex();
}

关于这段文字:

first line {first comment}
second line {multiline
comment}

我要把这个放出来:

{comm}co{mcomm}

似乎只匹配字母 c、o 和 m(这随着单词 com 的改变而改变,它匹配用于定义评论的单词的每个字母)但同时它包含大括号。 我尝试更改测试文本但没有成功。

c regex flex-lexer lex
© www.soinside.com 2019 - 2024. All rights reserved.