如果不带空格,则RUTA脚本无法识别模式

时间:2019-07-10 13:11:12

标签: regex uima ruta pega

我正在尝试使用以下脚本从模式中提取最后3个字符。 但是它不适用于无空格的模式。

下面是我尝试过的代码:

((W|NUM)* (W|NUM)*){REGEXP(".{2}")-> MARK(VarA)}
 (WS|"-")?  
((W|NUM)* (W|NUM)*){REGEXP(".{7}")-> MARK(VarB)}
 (WS|"-")?
  W{REGEXP(".{3}")-> MARK(VarC),MARK(EntityType,1,5), UNMARK(VarA), UNMARK(VarB), UNMARK(VarC)};

示例1:

  

I / P:A1-1B1A21A-PAD

     

O / P:PAD

示例2:

  

I / P:A11B1A21APAD

     

Exp OP:PAD

第一个示例运行正常。但是它不适用于第二个例子。如果没有“空格”,则无法识别

请分享您的想法。 预先感谢。

1 个答案:

答案 0 :(得分:1)

如果您只想提取UIMA Ruta中任何字符串的最后3个字符,则应遵循以下规则:

"(...)$" -> 1 = VarC;

然后您可以过滤出匹配的误报。