Elixir语言中 Regex.replace
相关用法介绍如下。
用法:
replace(regex, string, replacement, options \\ [])
@spec replace(t(), String.t(), String.t() | (... -> String.t()), [term()]) ::
String.t()
接收一个正则表达式、一个二进制和一个替换,返回一个新的二进制,其中所有匹配项都被替换替换。
替换可以是字符串或函数。该字符串用作每个匹配项的替换,它允许通过 \N
或 \g{N}
访问特定的捕获,其中 N
是捕获。如果使用\0
,则插入整个匹配项。请注意,在正则表达式中,反斜杠需要转义,因此在实践中您需要使用 \\N
和 \\g{N}
。
当替换是一个函数时,该函数可能具有 N 个参数,其中每个参数映射到一个捕获,第一个参数是整个匹配项。如果函数需要的参数多于找到的捕获,则剩余的参数将收到 ""
。
选项
:global
- 当false
时,仅替换第一次出现(默认为true
)
例子
iex> Regex.replace(~r/d/, "abc", "d")
"abc"
iex> Regex.replace(~r/b/, "abc", "d")
"adc"
iex> Regex.replace(~r/b/, "abc", "[\\0]")
"a[b]c"
iex> Regex.replace(~r/a(b|d)c/, "abcadc", "[\\1]")
"[b][d]"
iex> Regex.replace(~r/\.(\d)$/, "500.5", ".\\g{1}0")
"500.50"
iex> Regex.replace(~r/a(b|d)c/, "abcadc", fn _, x -> "[#{x}]" end)
"[b][d]"
iex> Regex.replace(~r/a/, "abcadc", "A", global: false)
"Abcadc"
相关用法
- Elixir Regex.run用法及代码示例
- Elixir Regex.names用法及代码示例
- Elixir Regex.named_captures用法及代码示例
- Elixir Regex.match?用法及代码示例
- Elixir Regex.escape用法及代码示例
- Elixir Regex.compile用法及代码示例
- Elixir Regex.split用法及代码示例
- Elixir Regex.source用法及代码示例
- Elixir Regex.scan用法及代码示例
- Elixir Regex.opts用法及代码示例
- Elixir Regex用法及代码示例
- Elixir Registry.count_match用法及代码示例
- Elixir Registry.lookup用法及代码示例
- Elixir Registry.unregister_match用法及代码示例
- Elixir Registry.register用法及代码示例
- Elixir Registry用法及代码示例
- Elixir Registry.values用法及代码示例
- Elixir Registry.put_meta用法及代码示例
- Elixir Registry.keys用法及代码示例
- Elixir Registry.start_link用法及代码示例
- Elixir Registry.unregister用法及代码示例
- Elixir Registry.delete_meta用法及代码示例
- Elixir Registry.count用法及代码示例
- Elixir Registry.meta用法及代码示例
- Elixir Registry.select用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Regex.replace(regex, string, replacement, options \\ [])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。