當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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