在flex中替换转义字符

时间:2012-03-23 06:05:12

标签: flex-lexer

我使用flex来处理扫描程序,将\"替换为";和\\\

所以我的代码就像

%%
\\"    \";
\\\    \\;

但是当我编译时,我收到一条错误消息,如missing quote。 我认为这是正确的正则表达式,我出错了还是flex特别的东西?

2 个答案:

答案 0 :(得分:3)

您应该同时转义\"字符。为了匹配\",您使用\\\"而不是\\"。要匹配\\,请使用\\\\而不是\\\

另一件事是flex匹配正则表达式,然后执行您在关联操作中放置的C代码。您的示例看起来不像正确的flex语句。

答案 1 :(得分:0)

匹配*[]()"\,{{1在flex中,你必须使用转义字符(单引号字符不需要)。