问题
I'm trying to write a string matching rule in ANTLRWorks, and I need to match either escaped quotes or any non quote character. I can match escaped quotes but I'm having trouble with the other part: ~'\'' | ~'\"'
will end up matching everything and ~'\'\"'
seems to be ignored by the grammar generator (at least the visual display). What sequence of characters will get me what I want?
回答1:
Try something like this:
StringLiteral
: '"' (EscapeSequence | StringChar)* '"'
;
EscapeSequence
: '\\' ('"' | '\\')
;
StringChar
: ~('"' | '\\')
;
来源:https://stackoverflow.com/questions/1879394/how-to-exclude-more-than-one-character-in-rule