我使用flex来处理扫描程序,将\"
替换为"
;和\\
与\
。
所以我的代码就像
%%
\\" \";
\\\ \\;
但是当我编译时,我收到一条错误消息,如missing quote
。
我认为这是正确的正则表达式,我出错了还是flex特别的东西?
答案 0 :(得分:3)
您应该同时转义\
和"
字符。为了匹配\"
,您使用\\\"
而不是\\"
。要匹配\\
,请使用\\\\
而不是\\\
。
另一件事是flex匹配正则表达式,然后执行您在关联操作中放置的C代码。您的示例看起来不像正确的flex语句。
答案 1 :(得分:0)
匹配*
,[
,]
,(
,)
,"
,\
,{{1在flex中,你必须使用转义字符(单引号字符不需要)。