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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。