1
需要在我調查從ANTLR項目wiki的JSON ANTLR語法此刻的ANTLR語法的解釋:http://www.antlr.org/wiki/display/ANTLR3/JSON+Interpreter對JSON語法
String :
'"' (EscapeSequence | ~('\u0000'..'\u001f' | '\\' | '\"'))* '"'
;
fragment EscapeSequence
: '\\' (UnicodeEscape |'b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\')
;
我能不明白的是爲什麼他們在否定\\
和\"
String
規則?無論如何,它將匹配EscapeSequence
。
如果我們將其更改爲~('\u0000'..'\u001f')
那麼它應該是相同的。
我錯過了什麼?
哦,我看到'EscapeSequence'允許'\\\',而'String'不允許''''。對? – zerkms 2013-05-10 10:07:29
我想你明白了,儘管你的評論格式出錯了。 – Gunther 2013-05-10 10:18:00
噢:-S這是因爲這個反斜槓纔是逃避反射。好,謝謝 – zerkms 2013-05-10 10:23:47