将正则表达式转换为antlr正则表达式格式

时间:2016-06-03 14:08:07

标签: regex antlr

我有以下正则表达式,显示多行字符串。它始于""" (3个双引号)并以它结束"""太。如何将其转换为ANTLR正则表达式?我知道ANTLR没有前瞻,后瞻和非捕获组,因为它们已在此正则表达式中使用:

STRING:

(\"\"\"[^\"\\\\]*(?:(?:\\\\.|\"(?!\"\"))[^\"\\\\]*)*\"\"\")|(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\")

谢谢。

1 个答案:

答案 0 :(得分:0)

如果ANTLR支持反向引用,请尝试:

("(""|)(\\.|[\s\S])*?"\2)

(当然还有额外的逃脱)

它处理单个和三个“双引号”。

Check it out here at regex101