Рута избегает специальных символов - PullRequest
1 голос
/ 24 октября 2019

Я работаю над сценарием рута для определения валюты, но у меня проблемы со специальными символами, такими как знак доллара ($).

Я пробовал с простым символом:

W{REGEXP("(dollar|nzd|$)") -> MARK(EntityType)};

выход из него:

ПАКЕТ uima.ruta.example;

W{REGEXP("(dollar|nzd|\$)") -> MARK(EntityType)};

В первом случае мой шаблон не распознается, во втором случае мой редактор выдает ошибку.

Как правильно определять специальные символы?

Приветствия.

1 Ответ

1 голос
/ 24 октября 2019

В UIMA Ruta специальные символы являются частью стандартной аннотации SPECIAL. Ваше правило соответствует только для токенов слов W;поэтому он не будет стрелять.

Если вы хотите сопоставлять только $ как специальный символ, вы можете ограничить аннотацию SPECIAL условием REGEXP, как для W:

// I spent $100.
SPECIAL{REGEXP("\\$"} -> Currency} NUM{-> Amount};

Дайте мне знать, если это поможет.

...