0

私はこの形式の辞書を持っています

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データベースTABLEWITH5Columnで変換したいと思います正規表現で解決策を得ようとしても成功しませんでした。

編集 :

次のような出力が欲しい

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

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

どんな助けでもありがたいです...

4

1 に答える 1

1

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);

一致すると、5つのグループがMatcherオブジェクトの.group(n)(for 1 <= n <= 5)に含まれます。

于 2013-02-19T11:05:45.743 に答える