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

Annotation not matching if sentence has anything after the pattern

我正在尝试通过 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

在这个例子中

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;