说我有二郎二进制模式匹配未知数
Bin = <<"10=123">>
此功能
binary:split(Bin, <<"10=">>),
分裂成
[<<"10=">>, <<"123">>]
相反,我需要它来匹配最后3个数字。 即使它的345或777. 一个肯定的事情是,它将始终是3个数字。
因此,这将不是匹配整个模式
我不是用二进制文件不太好,但我相信我寻找类似
binary:split(Bin, <<01,"10=", 3/binary>>),
说我有二郎二进制模式匹配未知数
Bin = <<"10=123">>
此功能
binary:split(Bin, <<"10=">>),
分裂成
[<<"10=">>, <<"123">>]
相反,我需要它来匹配最后3个数字。 即使它的345或777. 一个肯定的事情是,它将始终是3个数字。
因此,这将不是匹配整个模式
我不是用二进制文件不太好,但我相信我寻找类似
binary:split(Bin, <<01,"10=", 3/binary>>),
我不是100%肯定你的意思,但如果你只想在< <“123” >>一部分,那么匹配,你可以简单地做:
1> <<"10=", Rest/binary>> = <<"10=123">>.
<<"10=123">>
2> Rest.
<<"123">>
如果你不想完全匹配< <“10 =”>>部分只是用“_:3/binary”代替它。
如果这是你想要什么,然后你原来的方式会工作一样好:
1> Bin = <<"10=123">>.
<<"10=123">>
2> [_,Rest] = binary:split(Bin, <<"10=">>).
[<<>>,<<"123">>]
3> Rest.
<<"123">>
二:部分/ 3帮助?
binary:part(Bin, byte_size(Bin), -3).
cf:reference doc。 http://www.erlang.org/doc/man/binary.html#part-3
我认为你是在什么/位串手段是错误的。它与字符串无关。 – 2010-12-22 21:43:54