如何检测不包含“使用flex?”的字符串?

时间:2016-11-07 22:46:31

标签: regex string flex-lexer lex

法律字符串,以"开头,以"开头,中间不应包含"。例如: * "please help me" - 是合法字符串 * "please"help me" - 是非法字符串,因为help me"不以“。

开头

我想在flex中定义规则以捕获合法字符串。 我试图使用此规则,但它无法正常工作。 \"^[\"].*\"

1 个答案:

答案 0 :(得分:1)

编写规则的一种方法是

["][^"]*["]

请注意,如果它们位于字符类中,则无需使用反斜杠转义引号(或大多数其他正则表达式字符),因此["]\"完全相同。但我更喜欢它的样子:)。

你写的是什么 - 有效["][^"].*["] - 表示"引用,除引号外的任何内容,任何字符串,引用"。你想要的是"引用,除了引用之外的任何字符的字符串,引用",由上面的正则表达式表示。

如果您想坚持该字符串包含至少一个字符,请将*替换为+