感谢任何有力的手!
我有一些文字如下
aaaaa aaaa aaaaa aaaaaa
bbbbb bbbbb bbbb bbbbbb
cccccc ccccc ccccc cccccc
我想使用Ruta创建一个匹配换行符之间所有字符串的注释。我希望我的注释创建以下三个匹配:
1. aaaaa aaaa aaaaa aaaaaa
2. bbbbb bbbbb bbbb bbbbbb
3. cccccc ccccc ccccc cccccc
我尝试在换行符之间匹配所有内容,如下所示
BREAK #{-> MARK(Stuff)} BREAK;
但没有运气。有人可以提出一些建议吗?
非常感谢!
答案 0 :(得分:4)
您的规则问题可能是当前使用的过滤设置。默认情况下,空格,中断和标记不可见。该规则可能无法找到任何锚点来启动匹配过程。您需要为规则显示中断,例如,使用RETAINTYPE:
Document{-> RETAINTYPE(BREAK)};
BREAK #{-> MARK(Stuff)} BREAK;
Document{-> RETAINTYPE}; // for restoring the default setting
还有一个能够创建这些注释的分析引擎: PlainTextAnnotator。 然而,该分析引擎还包括在行的开头和结尾处的空格。这些可以通过以下方式删除:
Document{-> RETAINTYPE(SPACE)};
Line{->TRIM(SPACE)};
在UIMA Ruta 2.2.1(下一版本)中,您还可以编写如下内容:
Document{-> RETAINTYPE(BREAK)};
(#{-> Stuff} BREAK)+;
(我是UIMA Ruta的开发人员)