词法分析:行尾注释

本文关键字:注释 词法分析 | 更新日期: 2023-09-27 18:18:40

我正在标记一个字符串,如:

BAS=W34 N29 E24 S29$FOP=E6 S6 W6 N6$。评论

句点是"命令结束"字符,而不是"注释开始"字符。如何向词法分析器添加正则表达式规则,使句点本身成为令牌,但句点之后的任何内容都是带有COMMENT类型的令牌?我尝试了/'..+$/,但这包括评论中的句号。

词法分析:行尾注释

您可以尝试两种方法,非捕获组,或向后看(这也是非捕获):

(?:'.).+$
(?<='.).+$

在不知道实际使用的工具的情况下很难回答这个问题,但是可以考虑反向逻辑:使用一个正则表达式(如/^.+'./)来检测命令,之后的所有内容都是COMMENT。