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


Elixir Regex.scan用法及代碼示例


Elixir語言中 Regex.scan 相關用法介紹如下。

用法:

scan(regex, string, options \\ [])
@spec scan(t(), String.t(), [term()]) :: [[String.t()]] | [[{integer(), integer()}]]

run/3 相同,但會多次掃描目標,收集正則表達式的所有匹配項。

返回列表列表,其中主列表中的每個條目代表一個匹配項,輔助列表中的每個條目代表捕獲的內容。

選項

  • :return - 當設置為 :index 時,返回字節索引和匹配長度。默認為 :binary
  • :capture - 在結果中捕獲什麽。檢查 Regex 的 moduledoc 以查看可能的捕獲值。
  • :offset -(自 v1.12.0 起)指定要在給定字符串中匹配的起始偏移量。默認為零。

例子

iex> Regex.scan(~r/c(d|e)/, "abcd abce")
[["cd", "d"], ["ce", "e"]]

iex> Regex.scan(~r/c(?:d|e)/, "abcd abce")
[["cd"], ["ce"]]

iex> Regex.scan(~r/e/, "abcd")
[]

iex> Regex.scan(~r/\p{Sc}/u, "$, £, and €")
[["$"], ["£"], ["€"]]

iex> Regex.scan(~r/=+/, "=ü†ƒ8===", return: :index)
[[{0, 1}], [{9, 3}]]

相關用法


注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Regex.scan(regex, string, options \\ [])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。