如果句子在模式之后有任何注释,则注释不匹配

时间:2019-03-25 13:20:07

标签: uima ruta

我正在尝试通过RUTA脚本提取以下加粗的数字( AN A348645 PL )。请查看我提供的示例:

下面是我的代码:

Document{->RETAINTYPE(SPACE)};

((W|NUM) (NUM|W|SPACE|SPECIAL)*){REGEXP("([1]{0,1}[A-Z0-9]{2}[\\s ||-]{0,2}[A-Z0-9]{7}[\\s ||-]{0,2}[A-Z]{3})")->MARK(EntityType)};

1)

输入:索偿经验报告- AN A348645 PLB Nest Holdings Pty Ltd
预期的产量 AN A348645 PLB
原始输出:没有匹配的实体

但是,当模式后没有单词/字母时,它可以工作:

2)

输入:索赔经验报告- AN A348645 PLB
预期产量 AN A348645 PLB
原始输出 AN A348645 PLB

1 个答案:

答案 0 :(得分:0)

在此示例中

  

AN A348645 PLB Nest Holdings Pty Ltd

Star Greedy Quantifier *,在PLB之后寻找下一个注释,并尝试使用给定的正则表达式模式进行匹配。因此,仅当没有下一个令牌可以匹配时,规则才会触发。

尝试按原样在Ruta中应用正则表达式模式:

"([1]{0,1}[A-Z0-9]{2}[\\s ||-]{0,2}[A-Z0-9]{7}[\\s ||-]{0,2}[A-Z]{3})"->EntityType;