Apache UIMA解析多语言内容

时间:2013-12-12 09:42:27

标签: java regex unicode multilingual uima

我正在尝试用非英语语言解析内容,例如韩语,中文等。 UIMA是否有任何内置支持。我无法在Apache UIMA门户网站上获得有关此内容的更多信息。 所有我能想到的都是unicode正则表达式模式,但即使是那些由于某种原因似乎也不起作用。具有unicode字符的正则表达式模式并没有注释我需要的单词。

使用 JDK1.7 UIMA 2.4.2。

非常感谢任何帮助或建议。

以下我正在尝试的例子

文字:Numéroderéservation445566553代码 [此文本位于我使用FileSystemCollectionReader阅读的文件中,我已将编码设置为UTF-8]

我的RegEx(?< = Num \ u00E9ro \ sde \ sr \ u00E9servation \ s)(。*?)(?= \ sCode)

预期产出:445566553

1 个答案:

答案 0 :(得分:0)

我不确定你遇到的问题是否与uima相关,但是你使用普通java时,你发布的正则表达式对我来说似乎没什么问题。我正在使用java 1.7.0_45。我稍微修改了你的正则表达式,以允许数字周围有多个空格。这是一个SSCCE,运行时输出为'445566553'

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexExample {
    public static void main(String[] args) {
        String test = "Numéro de réservation   445566553 \tCode";
        Pattern pattern = Pattern.compile("(?<=Num\\u00E9ro\\sde\\sr\\u00E9servation)\\s+(.*?)\\s+(?=Code)");
        Matcher matcher = pattern.matcher(test);
        while(matcher.find()) {
            System.out.println("'"+matcher.group(1)+"'");
        }
    }
}

如果这不是您想要的,那么提供包含您想要修复的测试用例的SSCCE会有所帮助。