0

我目前有一个项目,我必须制作自己的 DSL。我有我的 DSL,也有我的大部分验证。我被我想检查特定单词是否包含数字的事实所困扰。

我写了一个语法,它允许你创建以下代码:

Category Doors belongs to Group Car_Equiptment;
Category Engine belongs to Group Car_Equiptment;

 Doors properties: 
   -5_Doors
   -4_Doors

 Engine properties:
   -V8 180 "PS" 
   -V10 200 "PS"  

这里的语法定义:

   Category:
    'Category' name=ID 'belongs' 'to' (group+=Group) ';' 
;

PropHeader:
    name=[Category]  'properties' ':'
    (properties+=Properties)+
;

Properties:
    '-'  name=ID number=INT? description=STRING? 
;

我应该控制用户不选择超过 5 个门的门属性。我可以毫无问题地获得属性名称,但我缺少一个帮助我检查字符串是否包含数字的功能。由于我有很多不同的属性,我不能只为门制作一个 ID。我必须通过 Validaiotn 检查是否存在名为 door 的属性(我已经有这部分),如果是,则任何字符串包含高于 5 的数字。

4

0 回答 0