0
我想在ANTLRWorks中編寫一個字符串匹配規則,並且我需要匹配轉義引號或任何非引號字符。我可以匹配逃脫的引號,但我遇到了其他部分的問題:~'\'' | ~'\"'
將最終匹配所有內容,並且~'\'\"'
似乎被語法生成器忽略(至少視覺顯示)。什麼序列的人物會得到我想要的東西?如何排除規則中的多個字符?
我想在ANTLRWorks中編寫一個字符串匹配規則,並且我需要匹配轉義引號或任何非引號字符。我可以匹配逃脫的引號,但我遇到了其他部分的問題:~'\'' | ~'\"'
將最終匹配所有內容,並且~'\'\"'
似乎被語法生成器忽略(至少視覺顯示)。什麼序列的人物會得到我想要的東西?如何排除規則中的多個字符?
嘗試這樣:
StringLiteral
: '"' (EscapeSequence | StringChar)* '"'
;
EscapeSequence
: '\\' ('"' | '\\')
;
StringChar
: ~('"' | '\\')
;
我結束了一個非貪婪anychar消耗下去,但是這應該做的很好的回答這個問題。 – RCIX 2009-12-10 21:20:52