2017-02-17 59 views
1

我已經能夠成功地使用Ruta使用RegExpRule和REGEXP創建註釋。但是,我遇到了一個小塊。我有由另一個引擎創建的註釋,它們分配基本上是註釋的String功能。使用正則表達式的UIMA Ruta匹配功能

STRING featureComment; 
OtherEngineAnnotation{GETFEATURE("comment", featureComment)}; 
//featureComment = "some comment like text" 

因爲功能值可能不會出現在文檔中,所以我無法使用RegExpRules來註釋功能值。我希望能夠利用作爲一個例子正則表達式搜索featureComment

like\stext$ 

根據我的文檔閱讀這似乎並不可能。我想知道是否有另一種方式可以做到這一點?

基本上可以根據Ruta STRING檢查正則表達式模式嗎?

回答

1

REGEXP條件還可以在變量或特徵值工作,一個可選的第一個參數的規則可能看起來像:

OtherEngineAnnotation{REGEXP(OtherEngineAnnotation.comment, "like\\stext$")}; 

o:OtherEngineAnnotation{REGEXP(o.comment, "like\\stext$")}; 

請介意UIMA魯塔的verison。你至少需要UIMA Ruta 2.5.0。

免責聲明:我是UIMA魯塔開發商

+0

我發現,這不會對例如匹配時,該功能的值是「像文本有些評論」,因爲它不是一個完全匹配,就好像一個'^'和'$'被附加到正則表達式模式。除了在模式中添加'。*'之外,還有其他解決方法嗎? – beyondTheGatesOfDoom

+1

不幸的不是。 REGEXP只使用'matches()'。目前還沒有find()。 –