说我有
Bin = <<"10=123">>
此功能
binary:split(Bin, <<"10=">>),
将其拆分为
[<<"10=">>, <<"123">>]
相反,我需要它来匹配最后3个数字。 即使它的345或777。 肯定的是,它总是3个数字。
所以它会匹配整个模式
我对二进制文件不太好,但我相信我正在寻找像
这样的东西 binary:split(Bin, <<01,"10=", 3/binary>>),
答案 0 :(得分:4)
binary:part / 3有帮助吗?
binary:part(Bin, byte_size(Bin), -3).
答案 1 :(得分:4)
我不是100%确定你的意思,但如果你只想匹配&lt;&lt;“123”&gt;&gt;那么你可以简单地做一下:
1> <<"10=", Rest/binary>> = <<"10=123">>.
<<"10=123">>
2> Rest.
<<"123">>
如果您不想在&lt;&lt;“10 =”&gt;&gt;上完全匹配部分只是用“_:3 / binary”替换它。
如果这是您想要的,那么您的原始方式将起到同样的作用:
1> Bin = <<"10=123">>.
<<"10=123">>
2> [_,Rest] = binary:split(Bin, <<"10=">>).
[<<>>,<<"123">>]
3> Rest.
<<"123">>