如果我在我的flex文件中有以下内容,它会做什么?
[\\[\\];] { return yytext[0]; }
答案 0 :(得分:2)
如果它在Perl中,它将匹配'[',']'或';'中的任何一个 - 我想它在flex中是一样的。 外部“[...]”定义了一个字符范围,即匹配任何一个指定字符:反斜杠转义内部“[]”,因此它们只是意味着字面括号。
答案 1 :(得分:1)
它匹配由其中一个字符[
,]
或;
组成的标记。 @AAT在他的解释中是正确的,虽然术语明智的“角色类”比“角色范围”更常见。
return yytext[0];
返回匹配标记的第一个字符。由于此处的正则表达式仅匹配单个字符标记,因此它将匹配的标记本身作为字符返回。
答案 2 :(得分:0)
如果发现以下任何一个[];它返回yytext [0]