【发布时间】:2014-07-13 15:41:24
【问题描述】:
我正在学习lex,我有一些疑问。
我在一个文件中有一些正则表达式,我有这三个(这是为了匹配 Java cmets):
"//".*"\n" {LINE+=1; COLUMN=1;}
\/\/.* {LINE+=1; COLUMN=1;}
\n {LINE+=1; COLUMN=1;}
我相信第二个正则表达式和"//".*是一样的。
我知道第一个匹配 cmets 以 // 开头,后跟零个或多个字符,然后是新行。第二个做同样的事情,但没有新行。
我的怀疑是这个。第二个和第三个正则表达式的组合不是和第一个完全一样吗?
我将其提交到测试平台,如果没有第一个表达式,它表示我有一个错误,而第一个表达式我说这是正确的,但我似乎找不到没有第一个正则表达式的示例评论不匹配。
【问题讨论】:
标签: regex lex flex-lexer