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


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 \\ [])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。