对于我的解析器,出于本问题的目的,任何以小写字母集开头的单个小写字母开头,后跟字符'='以及其他任何字符的行都是有效行。因此,以下是有效行(均从第一列开始):
a=20
b=50 70
q=20 Hello There
z=-
其他任何行均无效。我需要匹配补码。如何编写flex表达式以匹配无效行。我的困惑来自^,它表示行的开头以及对表达式的补充。我认为^ [abq] [=]。+会匹配可接受的行,因此仅用^进行补充即可。但是,表达式开头的^始终意味着在行首匹配。我做了一些其他尝试,但是那也没有用。尽管不相关,但该表达式用作丢弃无效SDP行的第一步。如果相关,请参阅here,以获取来自相关SDP RFC的详细信息。
[^…]
否定字符类不是运算符),但是在这种情况下,表达式非常简单并且可以很容易地表达。请注意,各种“无效行”模式不脱节并不重要,因为哪一个匹配特定的无效行都无关紧要。因此,这是我认为可以与所有无效行匹配的三种模式