我有这种格式的字典
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/
任何帮助将不胜感激......
答案 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
)。