我需要像Perl的正則表達式匹配ANTLR3動態報價在詞法
m/my regex!*/
其中引號都可以從範圍內的任何字符相匹配的東西。所以上面是一樣的
m%my regex!*%
一個詞法規則的幼稚的猜測是
REGEX: 'm' quote=. (~(quote))* quote;
,但不起作用,因爲後者quote
是不是指的quote=
,但一些規則。
我可以有很多的自己的代碼做到這一點,像
REGEX: 'm' quote=. { ... implement the loop and final match myself ... } ;
但不知何故,我覺得應該有做這種事情的規範方式。
這是令人驚訝的接近我提出的簡單情況。稍後當我想在詞法分析器中轉換\ -escape時,它有點討厭。即使你沒有真正回答我的問題,無論如何我都會支持你,以幫助其他人尋找解決方案。 – Thraidh