erlang的正则匹配和文本解析

前提:

发生了一个bug,为了维护数据,先把内存中的数据到处到日志文本,然后整理好修正算法之后,把日志文本里的数据重新分析,导入内存。


正则匹配:

http://langref.org/erlang/pattern-matching 这里讲了很多用法

re:run("one two three", "one (.*) three", [{capture, [1], list}])

这样就能截取感兴趣的部分

另外要注意转义符 比如数字匹配 (\d*) 这里要用 (\\d*) 来匹配一个大的数字

文本解析

    {ok, Tokens, _} = erl_scan:string(Str ++ "."),
    {ok, Exprs} = erl_parse:parse_exprs(Tokens),

注意那个Str++"."   。。。不然会报错。。。


嗯。。大概就是这样了。。。


另外,把beam文件导出代码

{ok,{_,[{abstract_code,{_,AC}}]}} = beam_lib:chunks(BeamFile,[abstract_code]),
io:fwrite("~s~n", [erl_prettypr:format(erl_syntax:form_list(AC))]).


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值