作者:程驭飞龙_619 | 来源:互联网 | 2023-05-18 14:26
binary:match和binary:matches的对比
match的接口返回的是符合字符串中第一个匹配到的字母的{下标,词组长度}
举例
binary:match
(<<
"abcde"
>>, [<<
"bcde"
>>, <<
"a"
>>]).会返回{0,1},0代表原字符串中第一个匹配到的字母下标("abcde"中的'a'下标为0),1是匹配到的数组长度,下标相同的按字符串长度比较
binary:match
(<<
"abcde"
>>, [<<
"abcde"
>>, <<
"a"
>>]).返回{0,5}
matches的接口返回的是符合字符串中下标不同且已匹配字符串中无重复字符的字符串的[{下标,长度},{下标,长度}]
举例binary:matches(<<"abcde">>,[<<"bcde">>,<<"ab">>]).返回[{0,2}],因为第一个匹配到的是a字符,第二个匹配到的是b字符,b在"ab"中先检测到匹配,所以<<"bcde">>匹配不到b。如果改成binary:matches(<<"abcde">>,[<<"cde">>,<<"ab">>])就会返回[{0,2},{2,3}]。
注意已匹配到的字符串不再进行匹配。