在ANTLR4中的正则表达式



我想生成这样的字符串:

tablename(attr1, attr2)    
tablename(attr1, attr2, attr3)
tablename(attr1, attr2, attr3, attr4)
问题是,使用通配符操作符(*、?、+)时,我无法控制我想要的基数,因为我需要至少两个。所以,像这样的字符串是不被接受的:
tablename(attr1)
tablename()

此外,我还想复制逗号,但不是最后一个属性。有没有一种方法可以做到ANTLR4?

明确地表述可能的变化。例如:

table: id OPEN_PAR attribute CLOSE_PAR
       | id OPEN_PAR attribute COMMA attribute CLOSE_PAR
       | id OPEN_PAR attribute COMMA attribute COMMA attribute CLOSE_PAR
       | id OPEN_PAR attribute COMMA attribute COMMA attribute COMMA attribute CLOSE_PAR
       ... etc.
;

相关内容

  • 没有找到相关文章

最新更新