matches(Subject, Pattern, Options) -> Found
OTP R14B
类型:
Subject = binary()
Pattern = binary() | [binary()] | cp()
Found = [part()]
Options = [Option]
Option = {scope, part()}
part() = {开始::integer() >= 0, 长度::integer()}
作为match/2
, 但Subject
被搜索直到耗尽并且所有不重叠部分匹配的列表Pattern
返回(按顺序)。
第一个也是最长的匹配优先于较短的匹配,如下例所示:
1> binary:matches(<<"abcde">>,
[<<"bcde">>,<<"bc">>,<<"de">>],[]).
[{1,4}]
结果显示,选择了 <<"bcde">>,而不是较短的匹配 <<"bc">>(这会导致多一场匹配 <<"de">>)。这对应于 POSIX 正则表达式(以及 awk 等程序)的行为,但与 re
(和 Perl)中的替代匹配不一致,其中搜索模式中的词法顺序选择匹配的字符串。
如果未找到模式中的任何字符串,则返回空列表。
对于说明Pattern
, 看compile_pattern/1
。有关可用选项的说明,请参阅match/3
.
如果在选项中指定 {scope, {Start,Length}}
,使得 Start
> size of Subject
、 Start +
Length
< 0 或 Start +
Length
is > size of Subject
,则会引发 badarg
异常。
相关用法
- erlang match(Table, Pattern)用法及代码示例
- erlang match_spec_run(List, CompiledMatchSpec)用法及代码示例
- erlang match(Subject, Pattern, Options)用法及代码示例
- erlang max用法及代码示例
- erlang make_dir用法及代码示例
- erlang make_tuple(Arity, InitialValue)用法及代码示例
- erlang make_tuple(Arity, DefaultValue, InitList)用法及代码示例
- erlang map_get(Key, Map)用法及代码示例
- erlang map_size(Map)用法及代码示例
- erlang max(Term1, Term2)用法及代码示例
- erlang map(Fun, Orddict1)用法及代码示例
- erlang map(Fun, MapOrIter)用法及代码示例
- erlang mapfoldl(Fun, Acc0, List1)用法及代码示例
- erlang make_tar(Name)用法及代码示例
- erlang member用法及代码示例
- erlang min用法及代码示例
- erlang merge用法及代码示例
- erlang memory用法及代码示例
- erlang memory()用法及代码示例
- erlang min(Term1, Term2)用法及代码示例
- erlang monitor(Type :: process, Item :: monitor_process_identifier())用法及代码示例
- erlang monitor(Type :: process, Item :: monitor_process_identifier(), Opts :: [monitor_option()])用法及代码示例
- erlang merge(Fun, Orddict1, Orddict2)用法及代码示例
- erlang module(AbsForms)用法及代码示例
- erlang monitor(Socket)用法及代码示例
注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 matches(Subject, Pattern, Options) -> Found。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。