在 uima RUTA 中使用正则表达式检测以下字符串

Detect below string using regex in uima RUTA

我正在尝试在 UIMA RUTA 中使用正则表达式将下面的字符串注释为一种类型。

SAMPLE:

Other Variant:

UIMA 正则表达式:

SPECIAL{REGEXP("\*+\$\d+.\d+\*+") -> MARK(AmC,1)};

我无法检测到 * 表示贪婪的正则表达式,但由于我正在使用转义字符 () 仍然有 missing.Any 解决方法?

PS: It's working for other regex engine but not working in UIMA RUTA

REGEXP 条件对规则元素的匹配注释的覆盖文本应用 Java 模式 matches()。在您的示例中,这是 SPECIAL 这是一个特殊字符。因此,正则表达式尝试匹配单个“*”,然后重新匹配下一个字符(不包括数字和句点)。

REGEXP 条件不太适合这里。您应该使用一个简单的正则表达式规则,例如:

"\*+\$\d+.\d+\*+" -> AmC;

免责声明:我是 UIMA Ruta 的开发者