相关疑难解决方法(0)

Flex中的非贪婪正则表达式匹配

我刚刚开始使用Flex,似乎无法弄清楚如何匹配以下Expression:

"Dog".*"Cat"
------------------
Input :
Dog Ca Cat Cc Cat
------------------
Output:
Dog Ca Cat Cc Cat
Run Code Online (Sandbox Code Playgroud)

但是我想要一个非贪心的匹配,并带有以下输出:

Output:
Dog Ca Cat
Run Code Online (Sandbox Code Playgroud)

如何在Flex上实现?

编辑

尝试了以下内容:

%%
Dog.*Cat/.*Cat  printf("Matched : ||%s||", yytext);
dog.*cat        printf("Matched : ||%s||", yytext);
dOg[^c]*cAt     printf("Matched : ||%s||", yytext);
DOG.*?CAT       printf("Matched : ||%s||", yytext);
%%
Run Code Online (Sandbox Code Playgroud)

输入:

Dog Ca Cat Cc Cat
dog Ca cat Cc cat
dOg Ca cAt Cc cAt
DOG CA CAT CC CAT
Run Code Online (Sandbox Code Playgroud)

输出:

Matched : ||Dog Ca Cat Cc Cat||
Matched : ||dog Ca …
Run Code Online (Sandbox Code Playgroud)

regex lex flex-lexer

5
推荐指数
1
解决办法
1699
查看次数

标签 统计

flex-lexer ×1

lex ×1

regex ×1