【发布时间】:2017-01-10 15:56:35
【问题描述】:
我一直在使用 Lex,遇到了在 C 程序中查找 cmets 并在最终输出中删除它们的问题。为了实现这一点,我需要识别任何出现的*/(这就是传统的多行注释的结束方式!)。
然后我的问题被简化为接受除 */ 以外的任何字符序列的子问题。我尝试了几种方法来实现这一点。我试过了:[^*\/],合理地它不起作用。任何帮助或建议都是值得赞赏的。
【问题讨论】:
-
[^*\/]不是*或/。 lex 是否使用 PCRE,如果是这样,我认为\*\/(*SKIP)(*FAIL)|.会起作用..(如果/不是分隔符,则不需要转义) -
@Bishwajit Purkaystha 查看 Regex101.com 链接。该站点作为右侧正则表达式的解释,它将比我可以更好地解释正则表达式。
标签: regex flex-lexer