我有一个关于flex的问题。在我的笔记中,在示例代码片段中,它说明如下:
[^ \t\n]+ printf("saw a word\n");
我不明白该代码的含义,以及它与单词的对应关系。看起来\t
意味着当我们看到空白时,\n
意味着当我们看到换行符时,^
在开头是什么意思,究竟是什么{{1 }意味着什么?如果有人能解释,我将不胜感激。
答案 0 :(得分:3)
[]
是一个字符组,匹配其中指定的所有字符。在该上下文中^
反转整个事物,字符组匹配指定字符的所有但。所以在这种情况下,它匹配除空格,制表符或换行符之外的所有内容。