这个正则表达式在lex中意味着什么

时间:2011-12-01 14:32:16

标签: regex lex

我正在从o'reilly书中学习lex和yacc,我遇到了一个lex示例,它处理命令,数字,字符串和新行,忽略空格和注释。

我无法理解示例中的一个特定正则表达式:

\ “[^ \” \ n]的* \“

此表达式处理双引号中的文本。例如:“test regex”将成功匹配,而测试正则表达式将无法匹配。

我阅读了关于正则表达式的Wikipedia文章,但我仍然没有得到它。

2 个答案:

答案 0 :(得分:3)

double quote\"),anything but double quote or linefeed[^\"\n])0次或多次(*),double quote({{1} })。

答案 1 :(得分:0)

\"

匹配起始引号(“)。引号用\来转义,以便不破坏正则表达式字符串。

[^\"\n]*

匹配除引号或行尾之外的任何内容。 ^表示不,\ n是行尾,*表示匹配0次或更多

\"

匹配上次报价

相关问题