常用表达

时间:2011-01-11 05:29:30

标签: regex parsing erlang

我有文字文件。我尝试在erlang中解析它。

文字格式:

pattern1 : value1
pattern2 : value2
pattern3 : value3
...

解析此文件的正则表达式是什么?我需要输出中的键值列表:

[{pattern1 : value1}, {pattern1 : value1}, {pattern1 : value1}].

谢谢。

1 个答案:

答案 0 :(得分:5)

最重要的是:

foo() ->
    {ok, Fd} = file:open("file.txt", [read]),
    process_lines(Fd, file:read_line(Fd), []).

process_lines(_, eof, Acc) -> Acc;
process_lines(Fd, {ok, Line}, Acc) ->
    [Pattern, Value] = string:tokens(Line, " :\n"),
    process_lines(Fd, file:read_line(Fd), [{Pattern,Value}|Acc]).

我没有测试过这段代码,但是这样的代码应该有用。