我正在研究一种Ruta脚本来识别货币,但是我遇到了诸如美元符号($)之类的特殊字符的麻烦。
我尝试用简单的字符:
W{REGEXP("(dollar|nzd|$)") -> MARK(EntityType)};
转义:
PACKAGE uima.ruta.example;
W{REGEXP("(dollar|nzd|\$)") -> MARK(EntityType)};
在第一种情况下,我的模式无法识别,在第二种情况下,我的编辑器给我一个错误。
识别特殊字符的正确方法是什么?
干杯。
答案 0 :(得分:1)
在UIMA Ruta中,特殊字符是默认种子注释SPECIAL
的一部分。您的规则仅与单词标记W
匹配;因此不会开火。
如果您只想匹配$作为特殊字符,则可以像对待SPECIAL
一样,用REGEXP
来限制W
注释:
// I spent $100.
SPECIAL{REGEXP("\\$"} -> Currency} NUM{-> Amount};
让我知道这是否有帮助。