首页 > 解决方案 > Ruta 转义特殊字符

问题描述

我正在使用 Ruta 脚本来识别货币,但遇到了美元符号 ($) 等特殊字符的问题。

我尝试了简单的字符:

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

逃避它:

包 uima.ruta.example;

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

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

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

干杯。

标签: ruta

解决方案


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

如果您只想匹配 $ 作为特殊字符,那么您可以SPECIAL使用条件限制注释,REGEXP就像您对W

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

让我知道这是否有帮助。


推荐阅读