首页 > 解决方案 > 使用 ANTLR 编写描述以下 Pascal 标记的正则表达式

问题描述

我如何使用 antlr 编写如下所示的正则表达式?谢谢你。

1.一个数要被视为“实数”(或“浮点数”),它必须有小数点或使用科学计数法。例如,1.0、1e-12、1.0e-12、0.000000001 都是有效的实数。小数点的两边必须至少有一个数字。

2.字符串由单引号之间的一系列字符组成:'string'。单引号本身可以作为两个单引号在一个字符串中背靠背出现:'isn”t'。

标签: regexantlrgrammar

解决方案


到目前为止,我已经测试了 GRAMMAR ANTLR v4 of Real Number as

fragment DIGIT : [0-9] ;
INT : DIGIT+ ;
DOT: '.';
SUBREAL : ('+'|'-')?(INT)+;
REAL1: (SUBREAL ('e')? SUBREAL? ) ;
REAL2: (SUBREAL ('e')? SUBREAL? DOT SUBREAL?);
REAL3: (SUBREAL  DOT SUBREAL? ('e')? SUBREAL? );
REAL : REAL1 | REAL2 | REAL3 ;
ID : REAL;

新的更新,祝你好运


推荐阅读