我正在尝试使用以下脚本从模式中提取最后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
第一个示例运行正常。但是它不适用于第二个例子。如果没有“空格”,则无法识别
请分享您的想法。 预先感谢。
答案 0 :(得分:1)
如果您只想提取UIMA Ruta中任何字符串的最后3个字符,则应遵循以下规则:
"(...)$" -> 1 = VarC;
然后您可以过滤出匹配的误报。