Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我对片段有以下定义:
fragment CHAR :'a'..'z'|'A'..'Z'|'\n'|'\t'|'\\'|EOF;
现在我必须为字符串定义一个词法分析器规则。我做了以下事情:
STRING : '"'(CHAR)*'"'
但是在字符串中,我想匹配除新行'\n'之外的所有字符。有什么想法可以实现吗?
"除了换行符之外,您还需要排除。试试这个:
"
STRING : '"' ~('\r' | '\n' | '"')* '"' ;
~否定字符集。
~
ut 我只想否定我的 CHAR 集中的新行
除了这个 AFAIK,别无他法:
STRING : '"' CHAR_NO_NL* '"' ; fragment CHAR_NO_NL : 'a'..'z'|'A'..'Z'|'\t'|'\\'|EOF;