我有以下正则表达式,显示多行字符串。它始于""" (3个双引号)并以它结束"""太。如何将其转换为ANTLR正则表达式?我知道ANTLR没有前瞻,后瞻和非捕获组,因为它们已在此正则表达式中使用:
STRING:
(\"\"\"[^\"\\\\]*(?:(?:\\\\.|\"(?!\"\"))[^\"\\\\]*)*\"\"\")|(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\")
谢谢。
答案 0 :(得分:0)
如果ANTLR支持反向引用,请尝试:
("(""|)(\\.|[\s\S])*?"\2)
(当然还有额外的逃脱)
它处理单个和三个“双引号”。