Скрипт RUTA не распознает шаблон, если указан без пробелов - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь извлечь последние 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-й пример работает нормально. Но это не работает для 2-го примера. Его не распознают, когда дано без "пробела"

Пожалуйста, поделитесь своими мыслями. Заранее спасибо.

1 Ответ

1 голос
/ 17 июля 2019

Если вы просто хотите извлечь последние 3 символа любой строки в UIMA Ruta, тогда следует выполнить следующее правило:

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

Затем вы можете отфильтровать совпадающие ложные срабатывания.

...