flex中^的含义

时间:2013-02-24 21:28:19

标签: compilation compiler-construction flex-lexer lexical-analysis

我有一个关于flex的问题。在我的笔记中,在示例代码片段中,它说明如下:

[^ \t\n]+ printf("saw a word\n");

我不明白该代码的含义,以及它与单词的对应关系。看起来\t意味着当我们看到空白时,\n意味着当我们看到换行符时,^在开头是什么意思,究竟是什么{{1 }意味着什么?如果有人能解释,我将不胜感激。

1 个答案:

答案 0 :(得分:3)

[]是一个字符组,匹配其中指定的所有字符。在该上下文中^反转整个事物,字符组匹配指定字符的所有。所以在这种情况下,它匹配除空格,制表符或换行符之外的所有内容。