将字典转换为sqlite数据库

时间:2013-02-19 10:44:47

标签: java android regex sqlite

我有这种格式的字典

Traditional Simplified [pin1 yin1] /English equivalent 1/equivalent 2/
^1          ^2         ^3          ^4                  ^5

例如

制 制 [A A zhi4] /to split the bill/to go Dutch/
^1 ^2 ^3        ^4                 ^5

T字帳 T字帐 [T zi4 zhang4] /T-account (accounting)/xyz abc
^1    ^2   ^3             ^4                     ^5

我想在sqlite数据库TABLE中转换它 5列。 试图通过正则表达式获得解决方案并未取得成功。

编辑:

我想输出

制 制 [A A zhi4] /to split the bill/to go Dutch/

制 
制 
[A A zhi4] 
/to split the bill
/to go Dutch/

任何帮助将不胜感激......

1 个答案:

答案 0 :(得分:1)

一个可能的正则表达式(每行使用)可能是

(\S+)\s+(\S+)\s+\[([^\[\]]*)\]\s*/([^/]*)/([^/]*)

在Java中:

Pattern regex = Pattern.compile(
    "(\\S+)       # one or more non-whitespace characters -> group 1\n" +
    "\\s+         # one or more whitespace characters\n" +
    "(\\S+)       # one or more non-whitespace characters -> group 2\n" +
    "\\s+         # one or more whitespace characters\n" +
    "\\[          # [\n" +
    "([^\\[\\]]*) # anything except [] -> group 3\n" +
    "\\]          # ]\n" +
    "\\s*/        # optional whitespace, then /\n" +
    "([^/]*)      # anything except / -> group 4\n" +
    "/            # /\n" +
    "([^/]*)      # anything except / -> group 5", 
    Pattern.COMMENTS);

匹配后,这五个组将位于Matcher对象的.group(n)1 <= n <= 5)。