当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


erlang match(Subject, Pattern, Options)用法及代码示例


match(Subject, Pattern, Options) -> Found | nomatch
OTP R14B
类型:
Subject = binary()
Pattern = binary() | [binary()] | cp()
Found = part()
Options = [Option]
Option = {scope, part()}
part() = {开始::integer() >= 0, 长度::integer()}

搜索 Subject 中第一次出现的 Pattern 并返回位置和长度。

该函数返回 {Pos, Length} 中的二进制文件 Pattern ,从 Subject 中的最低位置开始。

例子:

1> binary:match(<<"abcde">>, [<<"bcde">>, <<"cd">>],[]).
{1,4}

尽管 <<"cd">><<"bcde">> 之前结束,但 <<"bcde">> 首先开始,因此是第一个匹配项。如果两个重叠的匹配项从同一位置开始,则返回最长的匹配项。

选项摘要:

{scope, {Start, Length}}

仅搜索指定部分。返回值仍然具有与 Subject 开头的偏移量。允许使用负数Length,如本手册数据类型部分所述。

如果没有找到 Pattern 中的任何字符串,则返回原子 nomatch

对于说明Pattern,参见函数compile_pattern/1.

如果在选项中指定 {scope, {Start,Length}},使得 Start > Subject 的大小、Start + Length < 0 或 Start + Length > Subject 的大小,则 badarg 异常被提出。

相关用法


注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 match(Subject, Pattern, Options) -> Found | nomatch。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。