Ruta转义特殊字符

时间:2019-10-24 01:56:43

标签: ruta

我正在研究一种Ruta脚本来识别货币,但是我遇到了诸如美元符号($)之类的特殊字符的麻烦。

我尝试用简单的字符:

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

转义:

PACKAGE uima.ruta.example;

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

在第一种情况下,我的模式无法识别,在第二种情况下,我的编辑器给我一个错误。

识别特殊字符的正确方法是什么?

干杯。

1 个答案:

答案 0 :(得分:1)

在UIMA Ruta中,特殊字符是默认种子注释SPECIAL的一部分。您的规则仅与单词标记W匹配;因此不会开火。

如果您只想匹配$作为特殊字符,则可以像对待SPECIAL一样,用REGEXP来限制W注释:

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

让我知道这是否有帮助。