gpt4 book ai didi

c - 如何在词法分析过程中检测字符串?

转载 作者:行者123 更新时间:2023-11-30 15:11:38 25 4
gpt4 key购买 nike

我正在使用一些语法在词法分析期间检测字符串

"".*""    return TOK_STRING; 

但这不起作用。

最佳答案

我想你想要

\".*\"

但请注意,flex 中的 . 不匹配换行符。而且,正如 @chqrlie 在评论中提到的,它确实匹配 ",因此它将匹配最后一个字符串的末尾,而不是当前字符串的末尾。

所以更好的模式可能是:

\"[^"]*\"

([^"] 匹配包括换行符在内的任何字符," 除外)。

但是你无法在字符串中包含 " 。所以你必须决定应该使用什么语法。如果你想实现 SQL 风格,用双引号代表单引号字符串内的引号,您可以使用

\"([^"]|\"\")*\"

对于可能更常见的反斜杠转义:

\"([^"]|\\(.|\n))*\"

关于c - 如何在词法分析过程中检测字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35532920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com